自分のディレクトリにcdできないのですか?


10

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

ただし、cdlogsディレクトリにはアクセスできません。それは私のユーザーに属し、すべてのユーザーに読み取り権限があります。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です。

回答:


13

実行ビットに切り替えるには、実行ビットをディレクトリに設定する必要があります。(ファイルシステムのタイプは本当に重要ではありません。)

chmod u+x ./apache

7

http://www.albany.edu/faculty/gms/homepage101/unix_permissions.htmlは言う

表1. UNIXディレクトリのアクセス許可

権限が許可するもの
USER読み取り(r)アカウント所有者は、ディレクトリ内のファイルを一覧表示できます。
       書き込み(w)アカウント所有者は、ファイルを作成または削除できます 
                        ディレクトリ。
       名前(Webなど)でそのディレクトリのアクセスファイルを実行(x) 
                        ページファイル)。

GROUP読み取り(r)指定されたグループの全員がファイルをリストできます 
                        ディレクトリ。
       書き込み(w)グループの全員が、 
                        ディレクトリ。
       実行(x)グループの全員が(cd)を 
                        ディレクトリとそのディレクトリ内のファイルに名前でアクセス 
                        (Webページファイルなど)。

その他読み取り(r)誰でもディレクトリ内のファイルを一覧表示できます。
       書き込み(w)誰でもディレクトリ内のファイルを作成または削除できます。
       実行(x)誰でもディレクトリに変更(cd)してアクセスできます 
                        名前でそのディレクトリ内のファイル 
                        (Webページファイルなど)。

Wikipediaの記事は読む価値があると言います

(ファイルではなく)ディレクトリにアクセス許可を設定することによる影響は、「ファイルのアクセス許可に関する最もよく誤解されている問題の1つ」です(Hatch 2003)。


したがってexecute、ディレクトリにcdする権限が必要ですか?@RedGrittyBrick
AJP

はい。ディレクトリを「横断」するには、つまり、その内容に対して何かを行うには、ディレクトリに対する実行権限が必要です。実行権限がない場合でも、ディレクトリを表示することはできますが、表示することはできますが、ディレクトリにアクセスしたり、コンテンツにアクセスしたりstatすることはできませんls
ブラックライトが2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.