今回は特殊なパーミッションを話そう!
一般ユーザでも設定できるけど
主にスーパユーザが使うものだよ
えっ?
そんなものがあるの?
最初は
「スティッキービット(sticky bit)」だよ
このパーミッションが設定されている
ディレクトリの下では
ファイルの所有者しか
削除や移動ができないんだ
たくさんのユーザが
使う場所で使いそうだね
そのとおり!
これは
/tmp
や /var/tmp
に
設定されているよ
次は
「SETGID(set group id)」だよ
このパーミッションが
設定されている実行ファイルは
どのグループで実行しても
ファイルの所有グループで
実行した扱いになるんだ
うーん?
SETGID はあまり使われていないよ
実際は次の SETUID が大事なんだ
最後に
「SETUID(set user id)」だよ
このパーミッションが
設定されている実行ファイルは
どのユーザで実行しても
ファイルの所有ユーザが
実行した扱いになるんだ
SETUID は大事と
言っていたよね?
SETUID が設定されている
代表は
passwd
だよ
ユーザパスワードが保管されている
設定ファイルは /etc/shadow
だけど
スーパユーザしか閲覧できないんだ
それだとスーパユーザ以外
パスワード変更できないよ!
そこで
passwd
の所有ユーザは
root
になっていて
SETUID が設定されているんだ
なるほど!
誰が
passwd
を実行しても
root
ユーザが実行したことになるので
パスワード管理ファイル /etc/shadow
に
アクセスできるということなんだね!
今回は特殊なパーミッション
sticky bit, SETGID, SETUID を学んだよ!
ごく一部の特殊な用途のためにあるんだ!
これらを設定することもできるよ
次回はその設定方法を説明するね!