1

setuid を有効にしたファイル許可( rws )。

ファイルの所有者: vaisakh

vaisakh@computer:~/me$ ls -l
total 4
-rwsr-xr-x 1 vaisakh vaisakh   60 May  3 17:05 vaisakh.sh

別のユーザーに切り替える var23

vaisakh@computer:~/me$ su var23
Password:

権限の再確認

var23@computer:/home/vaisakh/me$ ls -l
total 4
-rwsr-xr-x 1 vaisakh vaisakh   60 May  3 17:05 vaisakh.sh

var23でも実行可能

var23@computer:/home/vaisakh/me$ ./vaisakh.sh
Its vaisakh
total 4
-rwsr-xr-x 1 vaisakh vaisakh   60 May  3 17:05 vaisakh.sh

書き込み権限を確認しています。

注: vaisakh (所有者) のみが書き込み権限を持っています

ただし、s(setuid) が有効になっているため、ファイルは所有者 (vaisakh) の許可 (rws) で実行されます。

「var23」がファイルに書き込むことを許可することを意味します

var23@computer:/home/vaisakh/me$ vim vaisakh.sh

var23 がファイルを編集した後、ファイルのアクセス許可を再度確認します。

var23@computer:/home/vaisakh/me$ ls -l
total 4
-rwxr-xr-x 1 var23 var23   67 May  3 17:09 vaisakh.sh
var23@computer:/home/vaisakh/me$

ファイルの内容 vaisakh.sh。

var23@computer:~/var23/Prometheus/me1$ cat vaisakh.sh
#!/bin/sh
echo "Its vaisakh"
ls -l
var23@computer:~/var23/Prometheus/me1$

質問:

  1. 所有権がvaisakh -> var23 (パーミッションがrws -> rwx )から変更される理由を理解できませんでしたか?
  2. setuid (所有者以外のユーザーが所有者のアクセス許可を継承できるようにする) を使用するために、ファイルが必要とする最小限のアクセス許可は何ですか? 読み取り実行(r_x) !
  3. setuidは実行フラグにのみ適用されますか?

    例:- 実際のファイル許可が4711の場合、所有者以外のユーザーはそれを読み取ることができません。所有者のアクセス許可 4711 を昇格させず、他のユーザーがコンテンツを読み取れるようにしないのはなぜですか。

4

1 に答える 1