ディレクトリに対するパーミッションはファイルに対するパーミッションと少し異なる意味を持ちます。
コマンド ls を -l オプション付きで実行した場合、以下のような情報が得られ、左端の列がパーミッションを表わします。
drwxr-xr-x 6 g999999 student 512 Jul 24 17:30 Wnn6 -rw------- 1 g999999 student 1766 Aug 22 17:39 mbox drwxr-x--x 10 g999999 student 1024 Aug 29 18:20 WWW |
このとき、「rwx」という3つの文字の意味はファイルの場合とディレクトリの場合では、次のようになります。
そのため、少し変わったケースとして、
ディレクトリの一覧を見ることはできないが、中にあるファイルを読むことができる (ただし、ファイル名はあらかじめ知っている必要があります)
という設定などがあり得ます。これは、ディレクトリのパーミッションが「--x」になっていて、その中のファイルのパーミッションがが「r--」となっているときに起こります。
練習 以下の手順でファイルを作り、ディレクトリのパーミッションを理解しよう。
mkdir ptest |
chmod -r ptest |
ls -l total 100 ...(略)... d-wx--x--x 2 masuhara user 512 May 16 12:05 ptest ...(略)... |
ls ptest ls: ptest: Permission denied |
cat ptest/memo I am testing permissions of a directory. |
ちゃんと中身が表示される。