Назад | Перейти на главную страницу

Как сделать файлы журнала Apache доступными для чтения Apache

Я хотел бы сделать файл журнала доступа apache доступным для чтения www-data (пользователем, работающим на веб-сервере), чтобы я мог обслуживать его по HTTPS, чтобы избавить меня от проблем с подключением SSH к серверу каждый раз, когда я хочу его проверить.

Я попытался chmod o+r access.log, но кажется, что разрешения автоматически сбрасываются на -rw-r----- 1 root adm.

В случае, если вы запускаете logrotate, который также устанавливает разрешения для новых файлов журнала, это может быть хорошим местом для внесения изменений. Например, это логротация apache2 по умолчанию на сервере Ubuntu.

andreas@halleck:~$ sudo cat /etc/logrotate.d/apache2
/var/log/apache2/*.log {
    weekly
    missingok
    rotate 52
    compress
    dateext
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
            /etc/init.d/apache2 reload > /dev/null
        fi
    endscript
}

Как видите, есть настройка под названием create? Не стесняйтесь изменить его на любой режим и право собственности, которые вы хотите иметь для новых файлов журнала. Кроме того, вот как опция создания описана в man-файле logrotate (8).

создать группу владельцев режима

Сразу после ротации (до запуска сценария postrotate) создается файл журнала (с тем же именем, что и у только что повернутого файла журнала). mode задает режим для файла журнала в восьмеричном формате (то же, что и chmod (2)), владелец указывает имя пользователя, которому будет принадлежать файл журнала, а группа указывает группу, к которой будет принадлежать файл журнала. Любой из атрибутов файла журнала может быть опущен, и в этом случае эти атрибуты для нового файла будут использовать те же значения, что и исходный файл журнала для пропущенных атрибутов. Этот параметр можно отключить с помощью параметра nocreate.

Я получил это, изменив владельца файла (который, похоже, не сбрасывается автоматически). Это правильный путь?