Chmod 4700の解説
chmod 4700はSUID付きで所有者のみアクセス可能。プログラムは所有者として実行されるが実行できるのも所有者のみ。高度に制限されたSUID設定です。
Permission
4700
rws------
chmod 4700 filename
パーミッション解析
| Role | Read (4) | Write (2) | Execute (1) | Octal | 意味 |
|---|---|---|---|---|---|
| Owner | r | w | x | 7 | read, write, execute |
| Group | - | - | - | 0 | no permissions |
| Others | - | - | - | 0 | no permissions |
Special bits (4): SUID (Set User ID on execution).
パーミッションの可視化
Read
Write
Execute
Owner
r
w
e
Group
-
-
-
Others
-
-
-
詳細な説明
パーミッション 4700 は、所有者のみがアクセスできるファイルにSUIDビットを設定します。
8進数の内訳:
- 4(特殊): SUIDビット設定
- 7(所有者): read (4) + write (2) + execute (1) = フルアクセス
- 0(グループ): アクセス不可
- 0(その他): アクセス不可
シンボリック表記では rws------ となります。所有者の execute 位置の s がSUIDを示しています。所有者のみがファイルの読み取り、書き込み、実行が可能です。グループとその他はアクセスできません。
これは興味深いエッジケースです。SUIDビットはプログラムを所有者として実行することを意味しますが、所有者のみが実行できるため、SUIDビットは本質的に冗長です。所有者は元々自分自身としてプログラムを実行します。このパーミッションは、SUIDプログラムの開発中に予防措置として設定されることがあり、開発者が他のユーザーへ実行を開放する前にテストできるようにします。
ユースケース
SUIDプログラムの開発・テスト時に使用。開発者がグループ(4750)や全員(4755)への実行開放前に、隔離された状態でSUIDの動作をテストできます。