UNIXファイルシステムのスティッキービットとは何ですか?
管理者としていつ、どのように使用しますか?
本来の用途は、実行可能ファイルをメモリにキャッシュして高速にロードできるようにするというヒントをOSに提供することでした。 OSは現在この種のことについてかなり賢いので、この使用法はほとんど廃止されています。実際、一部のOSでは、実行可能ファイルすべきではないがキャッシュされるというヒントとしてこれを使用していると思います。
今日の最も一般的な用途は、誰でもファイルを作成できるディレクトリを作成することですが、そのディレクトリ内のファイルの所有者だけがファイルを削除できます。従来、誰でも書き込み可能なディレクトリがある場合、誰でもそのディレクトリからファイルを削除できます。ディレクトリにスティッキービットを設定すると、ファイルの所有者だけが誰でも書き込み可能なディレクトリからファイルを削除できるようになります。
これの典型的な使用法は/tmp
ディレクトリです:
$ ls -ld /tmp
drwxrwxrwt 29 root root 5120 May 20 09:15 /tmp/
スティッキビットがあるモードのt
それが設定されていない場合、/tmp
からすべてを削除することにより、通常のユーザーが大混乱を引き起こすのは非常に簡単です。多くのデーモンは/tmp
にソケットを配置するため、基本的にローカルDOSになります。