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)