Ubuntu 上 Apache 日志权限管理
一 运行身份与目录基线
sudo chown -R root:root /var/log/apache2 && sudo chmod 755 /var/log/apache2sudo chown root:adm /var/log/apache2/*.log && sudo chmod 640 /var/log/apache2/*.log二 自定义日志路径的权限设置
ErrorLog ${APACHE_LOG_DIR}/my_error.logCustomLog ${APACHE_LOG_DIR}/my_access.log combinedsudo mkdir -p /var/log/my_apachesudo chown -R root:adm /var/log/my_apachesudo chmod 755 /var/log/my_apachecreate 640 root adm。sudo systemctl restart apache2三 使用 logrotate 安全轮转
/var/log/apache2/*.log {
dailymissingokrotate 7compressdelaycompressnotifemptycreate 640 root admsharedscriptspostrotate
systemctl reload apache2 > /dev/null 2>&1 || trueendscript}create 明确新日志的所有者与权限,避免轮转后权限错乱。postrotate 触发 Apache 重新打开日志文件,避免日志句柄占用。copytruncate,以减少日志丢失风险。四 常见故障排查清单
ps aux | grep apache2,应为 www-data。namei -l /var/log/apache2 与 ls -ld /var/log/apache2,目录需 755,日志文件 640(属主 root,属组 adm 或 www-data)。sudo systemctl reload apache2 或重启服务。五 安全加固要点
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/my_apache(/.*)?"sudo restorecon -Rv /var/log/my_apache