マイコンピュータにユーザーアカウントがあります。私の質問は、ユーザーファイルへのアクセスを制限する方法です。これは、他の人が自分のファイルにまったくアクセスできないことを意味します。この制限をどのように設定しますか?
Linuxシステムには何人のrootユーザーがいますか?
編集する:
私は私のシステムのユーザーの一人です。TOM
(実際に私のシステムには2人のユーザーがいますTOM
。)すべてのパッケージをJERRY
インストールしました。root
yum install <package name>
限界:TOM
他の誰も自分のパッケージとファイルにアクセスできません。
答え1
ファイルへのアクセスを制限する一般的な方法は、ホームディレクトリに対する権限を持っている場合chmod 700
(ホームディレクトリのグループ所有者が他の人と共有されている場合)、またはchmod 770
他の人がメンバーではなく「自分の」グループを持っている場合です。
root
ユーザー(uid 0)は常にこれらのファイルにアクセスできます。
nameという名前のユーザーは1人しか存在できませんが、root
uid 0に関連付けられた複数の名前がある可能性があるため、root権限を持つユーザーが複数ある場合があります。
他の人があなたのホームディレクトリを持つコンピュータへのrootアクセス権を持っている場合、暗号化された形式でない限り、重要な情報をそこに保管しないでください(ただし、暗号化は他のシステムで行わなければなりません)。
答え2
「アクセス」の使用は、読み取り/書き込み/削除などでより詳細に説明できます。粘着性のあるビートは他の人を取り除くのに役立ちます。 @Anthonが言うように行うことができます。ルートはスーパーユーザーなので、「機密」なデータを保管しないでください。
ディレクトリに固定ビットを設定してみましたか?私はあなたがLinuxを使用していると仮定します。
例えばhttp://www.thegeekstuff.com/2013/02/sticky-bit/ここの例では、あなたのケースについて説明する必要はありません。
[https://serverfault.com/questions/10353/what-is-the-sticky-bit-in-unix-file-systems-when-is-it-used]
答え3
yum
yumなどの一般的なユーザーコマンドは使用できずTOM
、yumコマンドはroot権限でのみ使用できます。 yumでパッケージをインストールすると、すべてのユーザーが利用できます。しかし、あなたがいるならtar
パック次のようにインストールディレクトリを変更できます。 (パッケージがGNU autotoolsを使用して作成された場合)
./configure --prefix=/home/myusername/bin
make; make install
/home/myusername/bin をPATH
変数に入れます。このソリューションでは、パッケージはmyusernameユーザー名で実行されます。
しかし、ファイルバイナリまたはtxtファイルより正確に見たい場合は、適切な権限を設定するだけです。プログラムを書く特定の場合にのみ機能し、UID
読み取りUSERNAME
専用なので、UID変数を簡単に確認でき、信頼できます。以下のスクリプトを見てcheck.shファイルに入れてください:(私はUnix&Linuxフォーラムなので、SHELLSCRIPTを書きました)
#!/bin/bash
COUNTER=0
FLAG=0
declare -r MYUID=500
declare -r USNAME=Sepahrad
for i in `cut -d: -f3 /etc/passwd`
do
COUNTER=$(( COUNTER + 1 ))
[ $i -eq $MYUID ] && TMP=$(head -n`echo $COUNTER` /etc/passwd | tail -n1 | cut -d: -f1) && [ "$TMP" == "$USER" ] && [ $MYUID -eq $UID ] && FLAG=1
done
if [ $FLAG -eq 1 ]
then
echo "Hello $USNAME ($UID)"
elif [ $FLAG -eq 0 ]
then
echo "You don't have permission to see thi file $USER ($UID)"; exit 1
fi
このスクリプトは、UID = 500およびSepahradユーザー名を持つユーザーに対してのみ実行されます。 (エディタを使用して変更できます。)しかし、rootユーザーでもソースコードを表示したくない場合は、shc
次のコマンドを使用してコンパイルできます。shc -v -r -T check.sh