スティッキービット 【sticky bit】
概要
スティッキービット(sticky bit)とは、UNIX系OSのファイルシステムで設定される特殊なアクセス権の一つで、ファイルやディレクトリの所有者とスーパーユーザー(rootユーザー)以外、ファイルの改名や削除をできないようにするもの。多くのシステムではディレクトリにのみ設定できる。UNIX系における一般的なパーミッション(アクセス許諾)の運用ではファイル名の変更や削除は「書き込み」(write)あるいは「実行」(execute)の権限を与えられたユーザーが行うことができるが、ディレクトリに対してスティッキービットを設定すると、その中にあるファイルについては所有者か管理者しか改名・削除できなくなる。
システムが自動生成する一時ファイルを一般のユーザーが不要に削除するのを防ぐために用いられることが多く、/tmp ディレクトリなどに指定される。スティッキービットを設定するにはchmodコマンドを用いて、「chmod 1777 /tmp」のように八進数で「1000」を追加するか、「chmod +t /tmp」のようにt属性を追加する。lsコマンドなどのパーミッション表記では「drwxrwxrwt」のように末尾に「t」が付加される。
1970年代の初期のUNIX実装から存在する仕様で、当初は指定された実行ファイルの内容を実行終了後もスワップ領域に残しておき、次回の起動を高速に行うことができるようにするものだった。頻繁に起動と終了を繰り返すプログラムを快適に動作させることに役立ったが、コンピュータのメモリ容量の増大とともにこのような用途は廃止されていった(Linuxは当初からこの機能は実装していない)。
(2021.4.30更新)