我正在运行一个干净的 ubuntu-server 并且让 apache 正常工作。
我注意到 apache 访问和错误日志归 root 所有:
-rw-r----- 1 root adm 10531 Oct 11 00:43 access.log
-rw-r----- 1 root adm 58839 Oct 11 00:43 error.log
Run Code Online (Sandbox Code Playgroud)
我只是想知道如果它只能由 root 写入,那么 apache 是如何实际写入日志的。
默认情况下是否使用系统日志?
谢谢!
嗯.....据我所知,一旦打开文件,权限的更改无关紧要。打开文件后,不会在每次读/写时重新检查访问控制。
因此,我认为发生的事情是:顶级 apache 服务器以 root 身份运行(以便它可以打开端口 80),它还打开日志文件。当启动服务器子进程时,它可能会执行 fork() 将打开的文件描述符复制到新的子进程(即日志文件描述符等),因此子进程可以写入日志文件,即使它不是 root,然后将子进程 UID 更改为请求的任何内容。
| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |