1

Я использую веб-сервер на моем (виртуальном корневом) сервере, где другу разрешено размещать свою собственную страницу. Эта страница находится в его домашнем каталоге, и Apache настроен таким образом, что VirtualHost использует этот каталог в качестве DocumentRoot . Access.log и error.log для этого VirtaulHost находятся в /var/log/apache2 как специфические файлы VirtualHost .

Все это работает хорошо - но мой друг, конечно, не имеет права читать что-либо в /var/log/apache2 .

Как я могу предоставить ему разрешения на чтение для этих файлов, не выставляя ничего другого в /var/log/?

(Наивный ln -s /var/log/apache2/friend.access.log в его домашнем каталоге не работал, конечно)

1 ответ1

1

Чтобы прочитать файл в системе Unix, вам нужен бит разрешения x на всех уровнях родительского каталога и бит разрешения r в этом файле. В вашем случае, например, friend потребуется x в /var , /var/log и /var/log/apache2 , в дополнение к r в /var/log/apache2/friend.access.log . Это можно сделать с помощью списков ACL, если вы не хотите давать всем пользователям права на чтение файлов в /var/log даже если у них есть разрешения r для этого файла и они знают точный путь.

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