Не вдається записати компакт-диск у свій власний каталог?


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/facturing/gms/homepage101/unix_permissions.html говорить

ТАБЛИЦЯ 1. UNIX ДИРЕКЦІЯ Дозволи

ХТО ЩО ДОЗВОЛЮЄ ВИМОГИ
USER Read (r) Власник облікового запису може перелічити файли в каталозі.
       Write (w) Власник облікового запису може створювати або видаляти файли в 
                        каталог.
       Виконати (x) доступ до файлів у цьому каталозі за назвою (наприклад, Web 
                        файли сторінок).

ГРУПА Прочитати (r) Кожен із зазначеної групи може перелічити файли в 
                        каталог.
       Написати (w) Усі в групі можуть створювати або видаляти файли в 
                        каталог.
       Виконати (x) Усі в групі можуть перетворити (cd) на 
                        каталог та доступ до файлів у цьому каталозі по імені 
                        (наприклад, файли веб-сторінок).

ІНШЕ Читання (r) Усі можуть перелічити файли в каталозі.
       Написати (w) Будь-хто може створювати або видаляти файли в каталозі.
       Виконати (x) Усі можуть змінити (cd) у каталог та отримати доступ 
                        файли в цьому каталозі по імені 
                        (наприклад, файли веб-сторінок).

Стаття у Вікіпедії є читання варто і каже

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


Отже, ви повинні мати executeдозволи для введення файлів у каталог? @RedGrittyBrick
AJP

Так, вам потрібно виконати дозвіл на каталог, щоб "пройти" його, тобто зробити що-небудь із його вмістом. Якщо у вас немає дозволу на виконання, ви все одно можете побачити каталог, і ви можете statйого, але ви не можете lsйого або взагалі отримати доступ до його вмісту.
Blacklight Shining
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.