明示的に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見つけることができます。私はここにローカルユーザーthomの詳細が含まれていて、ルートの詳細が含まれていると思います。syncthing$HOME/.config/syncthing/.config/syncthing$HOME=root/root/.config/syncthing

sudoまた、すでにルートの場合は、この作業は必要ありません(図を参照/etc/rc.local)。

この試み:

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

関連情報