为什么我会收到“无法创建 pid 文件...权限被拒绝”错误?

el_*_*_le 11 permissions

如果程序需要写权限,我应该如何使用 chown 设置它?具体来说,程序 foo 的权限是什么来解决这个错误?

failed to create pid file '/var/run/bar.pid': Permission denied
Run Code Online (Sandbox Code Playgroud)

ish*_*ish 7

如果您有一个程序foo试图创建/写入文件,则foo二进制文件的权限无关紧要,但它运行的用户产生很大的不同。

在这种情况下,foo正在尝试写入到/var/run,它由root拥有root并且只能root写入。

因此,您必须运行该程序sudo foo才能创建该 PID 文件。在您执行此操作之前,请考虑允许程序以 root 身份运行的安全隐患...