我有这个(缩短)systemd服务文件的问题:
[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
假设FOOd为用户名,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上失败,我该如何解决?(不,我不能将sudo用于mkdir ...)
FYI:我使用Debian 8
—
马特
您能将错误消息翻译成英文吗?
—
2015年
... Jun 03 16:18:49 PC0515546 mkdir [2469]:/ bin / mkdir:无法创建目录/ var / run / FOOd /:没有权限Jun 03 16:18:49 PC0515546 systemd [1] :FOOd.service:控制进程已退出,代码=退出状态= 1 ...
—
马特