あるユーザーのファイルを別のユーザーに制限する方法

あるユーザーのファイルを別のユーザーに制限する方法

マイコンピュータにユーザーアカウントがあります。私の質問は、ユーザーファイルへのアクセスを制限する方法です。これは、他の人が自分のファイルにまったくアクセスできないことを意味します。この制限をどのように設定しますか?

Linuxシステムには何人のrootユーザーがいますか?

編集する: 私は私のシステムのユーザーの一人です。TOM(実際に私のシステムには2人のユーザーがいますTOM。)すべてのパッケージをJERRYインストールしました。
root

yum install <package name>

限界:TOM他の誰も自分のパッケージとファイルにアクセスできません。

答え1

ファイルへのアクセスを制限する一般的な方法は、ホームディレクトリに対する権限を持っている場合chmod 700(ホームディレクトリのグループ所有者が他の人と共有されている場合)、またはchmod 770他の人がメンバーではなく「自分の」グループを持っている場合です。

rootユーザー(uid 0)は常にこれらのファイルにアクセスできます。

nameという名前のユーザーは1人しか存在できませんが、rootuid 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

yumyumなどの一般的なユーザーコマンドは使用できず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

関連情報