Не можете войти в мой каталог?

10

В экземпляре 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.

Феликс
источник

Ответы:

13

Вам нужно установить бит выполнения для каталогов, если вы хотите иметь возможность переключиться на это. (Тип файловой системы на самом деле не имеет значения.)

chmod u+x ./apache
Мат
источник
7

http://www.albany.edu/faculty/gms/homepage101/unix_permissions.html говорит

ТАБЛИЦА 1. СПРАВОЧНИК UNIX

КТО ТАК РАЗРЕШАЕТ
USER Read (r) Владелец аккаунта может перечислить файлы в каталоге.
       Запись (w) Владелец аккаунта может создавать или удалять файлы в 
                        каталог.
       Выполнить (x) доступ к файлам в этом каталоге по имени (например, Web). 
                        файлы подкачки).

GROUP Read (r) Каждый в указанной группе может перечислить файлы в 
                        каталог.
       Запись (w) Каждый в группе может создавать или удалять файлы в 
                        каталог.
       Выполнить (x) Каждый в группе может изменить (cd) на 
                        каталог и доступ к файлам в этом каталоге по имени 
                        (например, файлы веб-страниц).

ДРУГОЕ Чтение (r) Любой может перечислить файлы в каталоге.
       Запись (w) Любой может создавать или удалять файлы в каталоге.
       Выполнить (x) Любой может перейти (cd) в каталог и получить доступ 
                        файлы в этом каталоге по имени 
                        (например, файлы веб-страниц).

Статья Википедии является чтение стоит и говорит

Эффект установки разрешений для каталога (а не для файла) является «одной из наиболее часто неправильно понимаемых проблем с разрешениями для файлов» (Hatch 2003).

RedGrittyBrick
источник
Таким образом, у вас должны быть executeразрешения для CD в каталог? @RedGrittyBrick
AJP
Да, вам нужно разрешение на выполнение для каталога, чтобы «пройти» его, то есть сделать что-нибудь с его содержимым. Если у вас нет разрешения на выполнение, вы все равно можете увидеть каталог, и вы можете statэто сделать, но вы не можете lsего или получить доступ к его содержимому вообще.
Blacklight Shining