web-dev-qa-db-ja.com

自分のディレクトリにcdできませんか?

EC2インスタンスで、Apacheのログの場所をデフォルトとは異なるディレクトリに変更しました。これは、(非ブート、データのみ)EBSでログを保持できるようにするためです。

ただし、ログディレクトリにcdすることはできません。これは私のユーザーのものであり、すべてのユーザーの読み取り権限があります。ログもcatできません(Sudoを使用すると機能し、Apacheが正常にログを記録していることがわかります)。

$ ls -lh
total 4.0K
drw-rw-rw- 2 ubuntu ubuntu 4.0K 2011-05-15 14:52 Apache
$ ls -lh Apache/
ls: cannot access Apache/error.log: Permission denied
ls: cannot access Apache/access.log: Permission denied
total 0
-????????? ? ? ? ?                ? access.log
-????????? ? ? ? ?                ? error.log
$ cd Apache
-bash: cd: Apache: Permission denied
$ Sudo ls -lh Apache/
total 2.4M
-rw-r--r-- 1 ubuntu ubuntu 2.4M 2011-05-15 15:04 access.log
-rw-r--r-- 1 ubuntu ubuntu  27K 2011-05-15 15:00 error.log

これは私には意味がありません。助けて?

編集:ファイルシステムはext4です。

10
Felix

これに切り替えられるようにするには、ディレクトリに実行ビットを設定する必要があります。 (ファイルシステムの種類は実際には重要ではありません。)

chmod u+x ./Apache
13
Mat

http://www.albany.edu/faculty/gms/homepage101/unix_permissions.html 言います

表1.UNIXディレクトリの権限

許可の対象者
ユーザー読み取り(r)アカウント所有者はディレクトリ内のファイルを一覧表示できます。
書き込み(w)アカウント所有者はファイルを作成または削除できます。 
ディレクトリ。
そのディレクトリ内の(x)アクセスファイルを名前で実行します(Web 
ページファイルなど)。
 
 GROUP読み取り(r )指定されたグループの全員が
ディレクトリのファイルを一覧表示できます。
書き込み(w)グループの全員が
ディレクトリのファイルを作成または削除できます。
実行(x)グループ内の全員が(cd)を
ディレクトリに変更し、そのディレクトリ内のファイル(Webページファイルなど)に名前
でアクセスできます。
 
 OTHER読み取り(r)誰でもディレクトリ内のファイルを一覧表示できます。
書き込み(w)誰でもディレクトリ内のファイルを作成または削除できます。
実行(x)誰でもディレクトリに変更(cd)し、そのディレクトリ内の
ファイルに名前
(Webなど)ページファイル)。

ウィキペディアの記事 読む価値があり、

(ファイルではなく)ディレクトリにパーミッションを設定することの影響は、「最も頻繁に誤解されるファイルパーミッションの問題の1つ」です(Hatch2003)。

7
RedGrittyBrick