root 拥有的进程无法写入文件

root 拥有的进程无法写入文件

我正在运行一个程序(syslog-ng),它必须在给定路径中读取和写入多个文件。它在启动时失败,声称无法打开该路径中的文件。

请假设这个目录结构:

/var/platform/program

platform目录的权限设置为0655(所有者用户没有执行权限)。如果我将该权限更改为 0755,syslog-ng 就可以正常工作。

另一方面,我用 C 编写了一个小程序,尝试打开并写入同一目录中的文件,并且在以 root 身份运行时工作正常,但 syslog-ng 失败......

在这种情况下可能会出现什么问题?

答案1

syslog 可能想要chdir访问该目录,因此需要在该目录上设置执行位。

执行与读取位。 Linux 中的目录权限如何工作?了解更多信息。

相关内容