環境
Ubuntu2.4
記事
ファイルやディレクトリの権限設定をする場合、chmodコマンドを使ってパーミッションを設定することになるのだが、「どのユーザーでも書き込みはできるようにしたいが、削除だけは所有者にしかできないようにしたい」といった、かゆい所に手を届かすような、微妙な権限設定がしたいといった場合、スティッキービットで実現できるようになります。
Ubuntuでデフォルトでスティッキービットが設定されている代表的になディレクトとして、/tmpがあります。/tmpのパーミッションを確認してみると、最後が、xでも - でもなく、tになっています。これがスティッキービットです。
ls -ld /tmp
drwxrwxrwt
/tmpのパーミッションは777になっているため、/tmpディレクトリにあるファイルは、自分(所有者)が作成したファイルは勿論のこと、別のユーザーが作成したファイルも削除できると思いがちだが、スティッキービットが設定されているため削除することはできません。試しにrmをしてみると怒られます。
ファイルおよび、ディレクトリにスティッキービットを設定するには、パーミッションの設定で1000を加算すれば実現できます。
chmod 1777
スティッキービットを外す場合は、パーミッション設定で1000を減算すればOKです。