我想确保组的成员可以读取所有日志,并且 php-fpm 进程在记录下时adm会出现异常php5-fpm.logroot:rootu=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
}
Run Code Online (Sandbox Code Playgroud)
使用Syslogd可以在同一syslog.conf. 仍然可以通过专用工具将 syslogd 配置为对 PHP FPM 使用单独的日志文件,例如local4:
# /etc/syslog.conf
local4.* /var/log/php-fpm.log
Run Code Online (Sandbox Code Playgroud)
如果您使用rsyslogd,您可以过滤每条消息syslog.ident 前面的PHP-FPM :
# /etc/rsyslog.conf
:syslogtag, isequal, "php-fpm" /var/log/php-fpm.log
:syslogtag, isequal, "php-fpm" ~
Run Code Online (Sandbox Code Playgroud)
使用 rsyslogd,文件权限也在以下位置设置rsyslog.conf:
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4847 次 |
| 最近记录: |