Real User(実ユーザー) と Effective User(実効ユーザー) #
Real User(実ユーザー) とは、実行可能ファイルを実行したユーザーです。
例えば、xxx というコマンドが存在するとします。
$ ssh ubuntu@foo # リモートマシンに ssh 接続
$ xxx # コマンドを実行
を実行したとき、xxx というコマンドを実行すると Real User(実ユーザー) は ubuntu となります。
一方 Effective User(実効ユーザー) とは、
- 実行可能ファイルを実行した時にそのプロセスはどのユーザーとして扱われるかを指します
- 例)aaa というユーザーが xxx をコマンドを実行した時に、 xxx が別のコマンド yyy を実行することを考えると、 yyy は aaa によって実行されたことにするか、 xxx によって実行されたことにするか
- 基本的には real user と同じです
- 実行可能ファイルの実行権限が
xかsによって決定されますxなら real user = effective user となり、sなら real user == 実行可能ファイルの所有者 となります。- 例) /usr/bin/xxx の場合、
-rwxr-xr-x 1 foo foo 178432 Jun 21 2021 /usr/bin/xxxなら、 effective user は real user 、つまりxxxを実行したユーザーとなります。-rwsr-xr-x 1 foo foo 178432 Jun 21 2021 /usr/bin/xxx*なら、 effective user は ファイルの所有者、つまり今回だと foo となります。
Reference #
- https://www.khstasaba.com/?p=454{:target="_blank"}
- https://imokuri123.com/blog/2016/01/linux-ids/{:target="_blank"}