将用户和组分配给站点日志文件

将用户和组分配给站点日志文件

在站点 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”读取,而其他任何人都不允许)。

其他替代方法是将日志重新配置为转到系统日志或其他程序。

相关内容