Я хочу убедиться, что члены adm
группы могут читать все журналы, и процесс php-fpm делает исключение, поскольку он регистрирует php5-fpm.log
под root:root
и u=r+w
Я не могу найти способ добиться этого. Я рассматривал возможность использования syslog.facility
директивы, но я бы предпочел сохранить специальный файл журнала.
Вам следует более внимательно прочитать руководство по Конфигурация PHP FPM php-fpm.conf
директивы:
syslog.facility
директива контролирует только средство тип и дефолт установлен в daemon
. Это не влияет на расположение. Ненормативный средства системного журнала определены в RFC 5424, 6.2.1. Как видите, средства 16–23 предназначены для локального использования, и вы можете выделить одно для PHP FPM.error_log syslog
, в то время дефолт ценность #INSTALL_PREFIX#/log/php-fpm.log
.syslog.ident php-fpm
(это дефолт стоимость).На уровне конфигурации нет ничего о правах доступа к файлам. Вам нужно будет изучить уровень исходного кода, чтобы понять, как это делается на самом деле. Несколько советов по изменению разрешений файла журнала для сценария инициализации.
Права доступа к файлам можно контролировать в logrotate конфигурация, которая также имеет create
директива.
/var/log/php-fpm.log {
create 0640 root adm
}
Используя Syslogd позволяет настраивать все расположения файлов на одном syslog.conf
. По-прежнему можно настроить syslogd для использования отдельного файла журнала для PHP FPM с помощью специального средства, например local4
:
# /etc/syslog.conf
local4.* /var/log/php-fpm.log
Если вы используете rsyslogd, ты можешь фильтр PHP-FPM syslog.ident
добавлен к каждому сообщению:
# /etc/rsyslog.conf
:syslogtag, isequal, "php-fpm" /var/log/php-fpm.log
:syslogtag, isequal, "php-fpm" ~
С rsyslogd права доступа к файлам также устанавливаются в rsyslog.conf
:
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022