勉強前イメージ
特殊なパーミッションだけどなんだっけ?
最近そういうの調べてる
調査
SUID とは
Set User ID の略で、実行ファイルに設定されます。
通常の実行ファイルは実行者の権限で実行されますが
SUIDが設定されていたら所有者の権限で動作します。
代表的なファイル
centosで確認しています。
/usr/bin/passwd
を見ると所有者の実行権限に s
が書かれています。
これがSUIDを表しています。
[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd
このSUIDが意味するのは、
/usr/bin/passwdについて誰がこのコマンドを実行してもroot権限で実行されることになります。
SUIDを設定してみる
- ファイルを作ってみる
file_suid を作ってみました。
[root@localhost ~]# touch file_suid
[root@localhost ~]# ll
-rw-r--r-- 1 root root 0 3月 19 09:27 file_suid
- SUIDの権限を指定
元々は644なのですが、所有者に実行権限がないので
755にしてSUIDを設定します。
SUIDは4000を足して付与します。
下記のように所有者に s
が付きました。
[root@localhost ~]# chmod 4755 file_suid
[root@localhost ~]# ll
-rwsr-xr-x 1 root root 0 3月 19 09:27 file_suid
勉強後イメージ
そういえばそんなんあったなぁって。
これで特殊権限は終わりかな?