Lから始まるLinux

4章10話
特殊なパーミッション
4章11話 特殊なパーミッション操作
もくじ
4章12話
nologin
特殊なパーミッション操作
若木 みどり
前回は特殊なパーミッション sticky bit, SETGID, SETUID を学んだね!
若木 しげる
今回はそれらを 管理する方法を教えるよ! パーミッションには変わりないので chmod で変更するんだ
シンボリック形式による指定
若木 みどり
シンボリック形式は 「対象」「どうするか」「権限」 3種類の文字の組み合わせで 権限を指定するんだよね
若木 しげる
そのうち「権限」の部分で 特殊なパーミッションを指定するんだ 以下のような感じだよ
権限 意味
s SETGID, SETUID
t sticky bit
若木 みどり
あれ? SETGID と SETUID が 同じ文字を使っているね? SETGID と SETUID の区別が できないよ?
若木 しげる
これは「対象」と組み合わせて区別するんだ 「所有グループ」と組み合わせれば SETGID 「所有ユーザ」と組み合わせれば SETUID となるよ
指定 意味
u+s SETUID を与える
g-s SETGID を除く
若木 みどり
なるほど! 「対象」 区別するんだね!
オクタル形式による指定
若木 しげる
通常は3桁の八進数で表現するけど 特殊なパーミッションは 「4桁目」で表現するんだ
4桁目の数値 意味
4 SUID
2 SGID
1 sticky bit
若木 みどり(驚き)
3桁が当たり前だと思っていたけど 4桁目がかくされていたんだ!
若木 しげる
いくつか例を挙げよう
指定 意味
1777 sticky bit を設定し、全員に読み書き実行権限を設定
4755 SETUID を設定し、所有ユーザに読み書き実行権限、所有グループやその他には読み込み権限と実行権限を設定
SETUID の注意
若木 しげる
特殊なパーミッションは 特殊な用途で使われるんだ 本当に必要な場合しか 使ってはいけないよ!
若木 みどり(驚き)
そ、そんなに 注意しないと いけないの?
若木 しげる
特に SETUID はそうだよ 実行ファイルの所有ユーザが root SETUID が設定されていたら 誰が実行しても root 権限で 実行されるんだ!
若木 みどり
うわぁ… 言葉だけでも 重大さが伝わるよ…
若木 しげる
特に SETUID を設定する場合には 本当にこの権限が必要か よく考えて設定しよう!
まとめ
若木 みどり
今回は特殊なパーミッションの 設定方法を学んだよ! あまり使うことがないと いいなぁと思っているよ…
若木 しげる
実際使う機会は少ないから安心してね でもいざという時に対応ができないから 知っておくことは大事だよ!