スティッキービット
スティッキービットとは
スティッキービット(Sticky Bit)は、主にディレクトリに適用される特殊なアクセス権です。このビットが設定されたディレクトリでは、ディレクトリ内のファイルやサブディレクトリを削除または名前変更できるのは、以下の条件を満たすユーザーに限られます。
- ファイルまたはディレクトリの所有者
- スーパーユーザー(root)
この機能は、特に共有ディレクトリ(例:/tmp)で役立ちます。他のユーザーが誤って他人のファイルを削除するのを防ぎます。
/tmpディレクトリアクセス権
「/tmp
」ディレクトリは一時ファイルを保存するために使用されます。このディレクトリは、全てのユーザーが書き込み可能ですが、スティッキービットが設定されているため、ユーザーは自分のファイルのみを削除できます。
$ ls -ld /tmp
drwxrwxrwt 10 root root 4096 Jun 12 12:00 /tmp
drwxrwxrwt 10 root root 4096 Jun 12 12:00 /tmp
t
:スティッキービットが設定されていることを示します。
スティッキービットの設定方法
数値モードでは、1xxx の形式でスティッキービットを設定します。
ファイル/ディレクトリ | 数値モードでの設定 | 記号モードでの設定 |
---|---|---|
スティッキービット設定 | chmod 1777 directory | chmod +t directory |
スティッキービット解除 | chmod 0777 directory | chmod -t directory |
特殊なアクセス権の設定例
特殊なアクセス権 | 数値モードでの設定 | 記号モードでの設定 |
---|---|---|
SUID | chmod 4755 filename | chmod u+s filename |
SGID | chmod 2755 filename | chmod g+s filename |
スティッキービット | chmod 1777 directory | chmod +t directory |
SUIDとSGIDの設定 | chmod 6755 filename | chmod u+s,g+s filename |
SGIDとスティッキービットの設定 | chmod 2777 directory | chmod g+s,+t directory |
SUID、SGID、スティッキービットの設定 | chmod 7777 filename | chmod u+s,g+s,+t filename |
具体的な特殊なアクセス権の設定例
以下の設定を使用することで、システムのセキュリティとアクセス制御をより細かく管理できます。
1.ディレクトリにスティッキービットを設定する
chmod 1777 /example_dir
chmod +t /example_dir
2.ファイルにSUIDとSGIDを設定する
chmod 6755 /example_file
chmod u+s,g+s /example_file
3.ディレクトリにSGIDとスティッキービットを設定する
chmod 2777 /example_dir
chmod g+s,+t /example_dir