Сервер Ubuntu 11.10
У меня есть пользователь bob
кто домашний каталог /home/sites/bob
. В нем есть каталоги public_html
и logs
.
Apache работает под www-data
пользователь. bob
основная группа www-data
. Apache обновляет access.log
и error.log
в logs
каталог. Два файла журнала принадлежат root:root
и иметь разрешение 644
.
В bob
пользователь входит на FTP-сервер, который работает. Проблема в bob
может удалить или перезаписать два файла журнала. Мне нужен Apache, чтобы иметь возможность писать в журналы, а для bob
иметь доступ только для чтения - без перезаписи или удаления журналов. Как это может быть сделано?
Что я пробовал:
cd /home/sites/bob
chown www-data:www-data logs
chmod 644 logs
Я ожидал, что это сработает, потому что это должно дать Apache доступ на запись и www-data
группа (т.е. bob
пользователь) просто доступ для чтения. Что на самом деле происходит, так это в сеансе FTP bob
может видеть logs
в списке каталогов, но он не может его открыть, когда пытается перейти на logs
, ошибка:
Команда: Журналы CWD
Ответ: 550 журналов: нет такого файла или каталога
Ошибка: не удалось получить список каталогов
Итак, мой вопрос: как я могу предоставить доступ на запись к Apache (www-data
) к logs
но доступ только для чтения (без удаления) к bob
?
Вам необходимо предоставить разрешение на выполнение для каталога журналов, иначе пользователь не сможет войти в каталог.
chmod 754 logs/