O comando foi executado como usuário errado durante a inicialização, enquanto foi explicitamente solicitado a executar como root

1

Então, eu instalei o Syncthing e estou executando muitos problemas para fazer esse programa rodar como root no boot. Por alguma razão, ele sempre é executado como o usuário padrão (thom), mas eu inicializo no root e digo para ele ser executado como root. O comando é assim:

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

E é colocado dentro de rc.local. Executando rc.local manualmente APÓS a inicialização funciona bem, a inicialização em si não está funcionando. Este é o único programa até agora que está sendo executado consistentemente como o usuário errado. Talvez alguém possa ajudar a apontar exatamente o que estou fazendo de errado?

    
por Nos 25.07.2016 / 17:46

1 resposta

1

Não há $HOME definido em /etc/rc.local , por isso, quando syncthing resolve seu local de configuração $HOME/.config/syncthing , encontra /.config/syncthing . Eu suspeito que isso contenha detalhes para o seu usuário local, thom, considerando que quando $HOME=root , /root/.config/syncthing contém detalhes para o root.

Além disso, você não precisa de sudo quando já é root (como em /etc/rc.local ).

Tente isso:

HOME=/root start-stop-daemon --start --quiet --background --exec /usr/bin/syncthing -- "--no-browser"
    
por 25.07.2016 / 22:05