이 (단축 된) 시스템 서비스 파일에 문제가 있습니다.
[Unit]
Description=control FOO daemon
After=syslog.target network.target
[Service]
Type=forking
User=FOOd
Group=FOO
ExecStartPre=/bin/mkdir -p /var/run/FOOd/
ExecStartPre=/bin/chown -R FOOd:FOO /var/run/FOOd/
ExecStart=/usr/local/bin/FOOd -P /var/run/FOOd/FOOd.pid
PIDFile=/var/run/FOOd/FOOd.pid
[Install]
WantedBy=multi-user.target
하자 음식은 사용자 이름과 수 FOO 이미 내 데몬 존재하는 그룹 이름 /usr/local/bin/FOOd
.
를 통해 /var/run/FOOd/
데몬 프로세스 /usr/local/bin/FOOd
를 시작하기 전에 디렉토리를 만들어야합니다 # systemctl start FOOd.service
. mkdir이 권한으로 인해 디렉토리를 작성할 수 없기 때문에 실패합니다.
...
Jun 03 16:18:49 PC0515546 mkdir[2469]: /bin/mkdir: cannot create directory /var/run/FOOd/: permission denied
Jun 03 16:18:49 PC0515546 systemd[1]: FOOd.service: control process exited, code=exited status=1
...
왜 mkdir이 ExecStartPre에서 실패하고 어떻게 해결할 수 있습니까? (아니, mkdir에 sudo를 사용할 수 없습니다 ...)