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です。
これに切り替えられるようにするには、ディレクトリに実行ビットを設定する必要があります。 (ファイルシステムの種類は実際には重要ではありません。)
chmod u+x ./Apache
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)。