私は質問で言及されている概念に比較的慣れていないので、他のソースから読むことはより混乱しています。これが私が今まで理解したものです:
ファイルに対する権限を取得すると、次のように表示されます。
-rwsr-xr-- 1 user1 users 190 Oct 12 14:23 file.bin
user2
このグループのユーザーがをusers
実行しようとしているとします。 setuidビットが設定されていない場合は、RUIDとEUIDの両方がUIDと同じであることを意味しますfile.bin
。ただし、setuidビットが設定されているので、これはRUIDがUIDと同じで、EUIDがファイル所有者のUIDであることを意味します。file.bin
user2
user2
user1
私の質問は次のとおりです
- ファイル所有者との違いは何ですか
root
?root
所有者と同じ権限がありますか?それとも権限リストに別の項目が必要ですかroot
? - RUIDとEUIDの違いは何ですか?
- 私が知っている限り、RUIDとEUIDはプロセスでのみ機能します。もしそうなら、なぜユーザーIDの値がありますか?
- RUIDがプロセスを作成したユーザーで、EUIDが現在プロセスを実行しているユーザーである場合、この最初の答えの最初の文は次のようになります。質問私には何の意味もありません。
- setuidビットの機能を正しく理解していますか?
ベストアンサー1
答えは次のとおりです。
root
いつもいっぱいファイルとディレクトリにアクセスします。ファイル所有者は通常そのファイルも所有しますが、必ずしもそうではありません。たとえば、-r-xr----- 1 user1 users 199 Oct 14 18:42 otherfile.bin
user1
~である所有者;しかし、彼らはただ読むそして実装するしかし、root
まだフルアクセス権があります(読み書き)ファイルに追加します。
- RUIDは実際のユーザーIDそしてそれは(ほとんど)決して変わりません。
user2
システムにログインすると、実際のIDがに設定されているシェルが起動しますuser2
。シェルから始まるすべてのプロセスは、実際のIDをuser2
実際のIDに継承します。
EUIDは有効なユーザーID、ユーザー実行用に設定されます。setuidビット。
user2
実行されるとfile.bin
RUIDはでありuser2
、開始されたプロセスのEUIDはであるuser1
。
次の状況を試してみましょうpasswd
。
-rwsr-xr-x 1 root root 45396 may 25 2012 /usr/bin/passwd
user2
欲しいときパスワードを変更してください、彼らは実行します/usr/bin/passwd
。RUIDはですが、
user2
プロセスのEUIDはですroot
。user2
passwd
変更に使用できますただpasswd
RUIDは内部的に確認されるため、そうでない場合は実際のroot
ユーザーのパスワードにのみ動作が制限されます。プロセスが必要
root
なため、EUIDが必要です。passwd
書くおよび/etc/passwd
/または/etc/shadow
。