kenkovlog

Haskell, Python, Vim, ...

ディレクトリパーミッション

今日はディレクトリパーミッションについて勉強しましたので、そのメモを。

Linuxを使っていると、パーミッションは基本的な概念です。
が、ディレクトリのパーミッションについてよく分かっていませんでした。

ディレクトリのパーミッションにもrwxがある訳ですが、

r ... ディレクトリのファイルを読める
w ... ディレクトリにファイルを作成できる。
      もしくは、ディレクトリのファイルを編集、削除できる。
x ... ディレクトリに入れる。(cdで)

ということを表しています。

例えば、ファイルをオーナー以外のユーザから削除出来ないようにしたいとしましょう。
状況としては

testdir
 |--test.txt rwxr-xr-x

で、test.txtをオーナー以外のユーザが削除出来ないようにしたいと思います。
このとき、testdirのパーミッションとして適切なものはどうなるでしょうか。

解答はたくさんありますが、仮に
testdir rwxrwxrwx
というパーミッションにしたとしましょう。
このとき、test.txtはファイルのパーミッションがrwxr-xr-x
となっていますが、オーナ以外のユーザも削除できます。
というのは、そのファイルをふくんでいるディレクトリのパーミッション
rwxrwxrwxになっているからです。

ファイルを削除禁止にしたい場合は、そのファイルのパーミッション
変更してもダメで、ファイルを含んでいるディレクトリのパーミッション
変更しなければなりません。

このあたりの事は次のページが詳しいです。
http://www26.atwiki.jp/funa_tk/pages/19.html