スティッキービットについて
LPIC を勉強していて気になったシリーズまとめ 3 です, スティッキービットについて。
まとめ 1, 2 は以下です
www.kangetsu121.work www.kangetsu121.work
スティッキービットとは
Linux での一般的な使い方では, ディレクトリ に付与する属性です*1。
スティッキービットのついたディレクトリ配下に作成したファイル, ディレクトリは, 所有者以外はファイル・ディレクトリの名前変更・削除ができなく なります。
スティッキービットの有無は SUID, SGID と同じく ls -l
などで見ることができます。
その他ユーザーの実行権限に x
でなく t
がついていると, そのディレクトリにはスティッキービットが付与されています。
スティッキービットの利用例
/tmp
ディレクトリ には, スティッキービットがセットされています (その他ユーザーの実行権限が t
)。
kangetsu@ubuntu18:~ $ ll /tmp -d drwxrwxrwt 9 root root 4096 May 24 14:07 /tmp/ kangetsu@ubuntu18:~
上記の通り /tmp
は全てのユーザーが全権限を持っているディレクトリで, 一時ファイル, 作業用のファイルなどを作る際によく利用されます。
このため /tmp
以下は無法地帯になりそうですが, スティッキービットが付与されているため, 自分が作成したファイル・ディレクトリ以外は削除などできないようになって, 治安が保たれています。
スティッキービットの付与の方法
chmod
コマンドなどでのファイル権限の数値表現で, SUID は 4000, SGID は 2000 でしたが, スティッキービットは 1000 です。
↓ 775 の権限のディレクトリに
kangetsu@ubuntu18:~ $ ll sbit_test -d drwxrwxr-x 2 kangetsu kangetsu 4096 May 24 15:34 sbit_test/ kangetsu@ubuntu18:~
↓ 1775 で chmod
するとスティッキービット付与*2 (その他ユーザーの実行権限が t
)
kangetsu@ubuntu18:~ $ sudo chmod 1775 sbit_test/ kangetsu@ubuntu18:~ $ ll sbit_test -d drwxrwxr-t 2 kangetsu kangetsu 4096 May 24 15:34 sbit_test/ kangetsu@ubuntu18:~
まとめ
SUID, SGID に比べあっさりになりましたが, まとめです。
- スティッキービットはディレクトリに付与する
- スティッキービットがセットされているディレクトリ内に作成されたファイル・ディレクトリは, その所有者しか名前変更・削除ができなくなる
/tmp
ディレクトリが典型例
- 権限の数値表現だと SUID は 4000, SGID は 2000, スティッキービットは 1000
Linux教科書 LPICレベル1 Version5.0対応
- 作者:中島 能和
- 発売日: 2019/04/08
- メディア: 単行本(ソフトカバー)