Answers:
默认情况下,您只能以有效用户ID为0(即,以root用户身份)的用户身份写入/ var / run。这是有充分理由的,因此无论您做什么,都不要去更改/ var / run的权限...而是以root身份在 / var / run 下创建目录:
# mkdir /var/run/mydaemon
然后将其所有权更改为您要在其下运行过程的用户/组:
# chown myuser:myuser /var/run/mydaemon
现在指定使用/ var / run / mydaemon而不是/ var / run。
您始终可以通过以相关用户身份运行测试来对此进行测试。
mkdir /var/run/mydaemon
chown myuser:myuser /var/run/mydaemon
这将不起作用,因为它将在下次重新启动时丢失(/var/run
在Ubuntu上是tmpfs)。
唯一可行的解决方案是将mkdir和chmod作为启动脚本的一部分运行。
为了避免将程序用户置于根组中,请允许其他用户进行写访问:
# chmod 757
chmod 757
也只能在下一次重新启动之前起作用。很抱歉创建新答案,但似乎无法回复其他评论。
chmod
上/var/run
。作者可能将其用于应用程序子目录。不知道到底有什么大惊小怪的。
/var/run/mydaemon
目录消失了。