在 CentOS 上,Apache 日志文件的权限通常是由 Apache 自身(启动进程)和系统服务配置共同决定的,具体可以从以下几方面说明:
root 启动,再降权到 apache 用户)/var/log/httpd/access_log、error_log)
-rw-r--r-- root apache
/etc/logrotate.d/httpd 控制022)CentOS 中 Apache 日志轮转配置:
/etc/logrotate.d/httpd
示例内容:
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/usr/bin/systemctl reload httpd > /dev/null 2>&1 || true
endscript
}
如果你看到日志权限异常,多半是:
CentOS 上通常是:
rootapacheApache 运行用户定义在:
/etc/httpd/conf/httpd.conf
User apache
Group apache
chown root:apache /var/log/httpd/*.log
chmod 644 /var/log/httpd/*.log
mkdir /data/logs
chown root:apache /data/logs
chmod 755 /data/logs
检查:
ls -Z /var/log/httpd
修复:
semanage fcontext -a -t httpd_log_t "/data/logs(/.*)?"
restorecon -Rv /data/logs
CentOS 上 Apache 日志权限由 Apache 启动进程创建,logrotate 维护,属主通常是 root:apache,受 httpd.conf 和 SELinux 共同影响。
如果你愿意,可以贴出:
ls -l /var/log/httpd