命令在启动时以错误的用户身份运行,同时明确被告知以 root 身份运行

命令在启动时以错误的用户身份运行,同时明确被告知以 root 身份运行

所以我已经安装了 Syncthing,并且在让这个程序在启动时以 root 身份运行时遇到了很多问题。由于某种原因,它总是以默认用户( thom )运行,但我启动到 root 并告诉它以 root 身份运行。该命令如下所示:

sudo start-stop-daemon --start --quiet --background --chuid root  --exec /usr/bin/syncthing -- "--no-browser"

并且被放置在rc.local里面。启动后手动运行 rc.local 工作正常,但启动本身不起作用。这是迄今为止唯一一个始终以错误用户身份运行的程序。也许有人可以帮助指出我到底做错了什么?

答案1

没有$HOME定义,/etc/rc.local所以当syncthing解析它的配置位置时$HOME/.config/syncthing,它会找到/.config/syncthing。我怀疑这包含本地用户 thom 的详细信息,而 when$HOME=root包含/root/.config/syncthingroot 的详细信息。

sudo另外,当您已经是 root 时则不需要(如 中所示/etc/rc.local)。

试试这个:

HOME=/root start-stop-daemon --start --quiet --background --exec /usr/bin/syncthing -- "--no-browser"

相关内容