Linuxでコマンドファイルに対してSUIDを設定する!(chmod u+s)

Linuxのコマンドファイルに対してSUIDを設定して、コマンドファイルの所有者としてコマンドを実行可能にします。

SUIDされたコマンドの例を確認する!(passwd)

SUIDされたコマンドの例を確認します。代表例は、passwdコマンドで、root権限はないですが、root所有者の/etc/passwdファイルを編集できます。

$ ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 33544 12月 14  2019 /usr/bin/passwd

SUIDをコマンドファイルに対して付与する!

SUIDは、以下のコマンドで付与できます。

$ sudo chmod u+s [コマンドファイル]

以下のコマンドでも同じようにSUIDを付与できます。

$ sudo chmod 4000 [コマンドファイル]

SUIDが付与されたコマンドファイルを確認する!

SUIDが付与されたコマンドを確認するには、以下のコマンドを使用します。

$ sudo find / -perm -4000 -type f | xargs ls -l

おわりに

SUIDは、root権限を不必要に一般ユーザに付与しなくても済むように考え出されたものですが、rootでなくてもroot権限を使用できる可能性が発生してくるので、SUIDを付与する対象は必要最小限に絞るようにしましょう。

関連記事

関連書籍(Amazon)