Bur*_*Leo 7 file-permissions apache-2.2
如果您告诉 Apache 使用 CustomLog 文件,Apache2 将在启动时创建这些文件。它总是将它们提供给用户 root:root。我怎样才能改变这种行为?
背景
Apache 运行
SuexecUserGroup www-data www-data
Run Code Online (Sandbox Code Playgroud)
同时,我使用 CustomLog 将其输出通过管道传输到脚本。该脚本从 IP 中删除两个字节,然后写入日志文件。由于您不能告诉 Apache 从 error.log 中省略 IP,因此此管道输出很重要(关于德国隐私法)。
如果这不属于www-data ,则脚本无法访问我的自定义日志。
如果我更换所有者,一切正常。
我也知道如何在logrotate重命名和重新创建日志文件时更改文件所有者。
但是,如果我停止 Apache 进程,删除日志文件,然后重新启动 Apache 进程,则会创建属于 root:root 的新文件。
如何告诉 Apache在启动时为www-data创建新的空文件?
这个句子:
如果我的自定义日志不属于 www-data,则脚本无法访问它。
与http://httpd.apache.org/docs/current/logs.html#piped直接矛盾:
管道日志进程由父 Apache httpd 进程生成,并继承该进程的用户 ID。这意味着管道日志程序通常以 root 身份运行。因此,保持程序简单和安全非常重要。
如果您描述的场景在某种程度上是正确的,您仍然可以通过以下方式回避问题
| 归档时间: |
|
| 查看次数: |
13221 次 |
| 最近记录: |