명시적으로 루트로 실행하라는 메시지가 표시되는 동안 명령이 시작 시 잘못된 사용자로 실행됩니다.

명시적으로 루트로 실행하라는 메시지가 표시되는 동안 명령이 시작 시 잘못된 사용자로 실행됩니다.

그래서 Syncthing을 설치했는데 시작 시 이 프로그램을 루트로 실행하는 데 많은 문제가 있습니다. 어떤 이유로 항상 기본 사용자(thom)로 실행되지만 루트로 부팅하고 루트로 실행하도록 지시합니다. 명령은 다음과 같습니다.

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"

관련 정보