[Linux]ディレクトリのパーミッションの実行権限(x)の意味とは?
実験してみた
rootでログインして、# mkdir /tmp/foo/
# echo "hello" > /tmp/foo/hello.txt
デフォルトでは、下記のようなパーミッションになります。tmp ... 777
foo ... 755
hello.txt ... 644
さてこの場合、一般ユーザはhello.txtの中身を見れるでしょうか?
$ cat /tmp/foo/hello.txt
hello
見事閲覧できました。
ここまではOKですね。
では次に、fooディレクトリの実行権限をはく奪してみましょう。
rootで、
# chmod 0754 /tmp/foo
一般ユーザで、
$ cat /tmp/foo/hello.txt
cat: /tmp/foo/hello.txt: 許可がありません
あらら、hello.txtの中身が見れなくなりました。
というわけで、ディレクトリの実行権限が実は「アクセス権」であることが、おわかりいただけたと思います。
ちなみに、例えば
/var/log/httpd/access_log
のようなファイルの中身を見るには、
'var'と'log'と'httpd'の各ディレクトリに実行権限を付与した上で、acccess_logファイルに読取権限を付与する必要があります。
カテゴリ:
Linux