在站点 apache conf 文件中,是否有办法为 CustomLog 和 ErrorLog 设置用户和组?目前,这 2 条记录使用 root:root 权限创建错误和访问日志,但我希望它们是 flewis:admin
CustomLog /var/log/httpd/domain.com-access.log combined
ErrorLog /var/log/httpd/domain.com-error.log
如果我更改文件的用户:组,则当日志轮换时,新日志是 root:root
答案1
你可能会:
chgrp admin /var/log/httpd
chmod g+s /var/log/httpd # propagates group to new files (& g+s to new subdirs)
这可能就足够了。我的日志文件默认为 rw-r-----(八进制 640),所以我不需要更多。我可能会将日志 domain.com 日志指向 httpd 的子目录,这样我就可以在上面标记 domain.com 特定的组。
如果您的 Web 服务器的默认值更加严格,例如 rw-------(八进制 600),您可能需要找到启动 Web 服务器的脚本并向其中添加“umask 027”(在生成 Web 服务器之前),或者查看您的系统是否使用 /etc/sysconfig/httpd 或类似文件来允许该行。022 仅阻止 group/other 的写入访问(允许所有人读取),而 027 仅阻止所有者(可能是 root)和您的组“admin”以外的用户的权限(因此允许所有者和组“admin”读取,而其他任何人都不允许)。
其他替代方法是将日志重新配置为转到系统日志或其他程序。