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.

2 ответа2

13

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

chmod u+x ./apache
7

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

ТАБЛИЦА 1. UNIX DIRECTORY Разрешения

WHO                     WHAT THE PERMISSIONS ALLOW
USER   Read (r)         The account owner can list the files in the directory.
       Write (w)        The account owner can create or delete files in the 
                        directory.
       Execute (x)      access files in that directory by name (such as Web 
                        page files).

GROUP  Read (r)         Everyone in the designated group can list the files in 
                        the directory.
       Write (w)        Everyone in the group can create or delete files in the 
                        directory.
       Execute (x)      Everyone in the group can change (cd) into the 
                        directory and access files in that directory by name 
                        (such as Web page files).

OTHER  Read (r)         Anyone can list the files in the directory.
       Write (w)        Anyone can create or delete files in the directory.
       Execute (x)      Anyone can change (cd) into the directory and access 
                        files in that directory by name 
                        (such as Web page files).

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .