Сценарий службы Systemd не записывается в файл

Я хочу, чтобы пользовательский сервис. Таким образом, я создал myservice@.service в /etc/systemd/system со следующим содержанием.

[Unit] Description=My Service [Service] Type=simple ExecStart=/bin/bash ${HOME}/userscript WorkingDirectory=${HOME} Restart=always RestartSec=2 User=%i [Install] WantedBy=multi-user.target

Ниже приведено содержание ${HOME}/userscript

#!/bin/bash while true; do echo $(date +%Y%m%d%a%H%M%S) >> log echo $USER >> log sleep 2 done

Затем я включаю и запускаю службу, используя:

systemctl enable myservice@john systemctl start myservice@john

Это то, что я получаю, когда проверяю статус сервиса:

● myservice@john.service - myservice Loaded: loaded (/etc/systemd/system/myservice@.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2017-12-11 08:03:54 PST; 6s ago Main PID: 11558 (bash) CGroup: /system.slice/system-myservice.slice/myservice@john.service ├─11558 /bin/bash /home/john/userscript └─11603 sleep 2 Dec 11 08:03:54 my-system-hostname systemd[1]: Started myservice. Dec 11 08:03:54 my-system-hostname bash[11558]: /home/john/userscript: line 4: log: Permission denied Dec 11 08:03:54 my-system-hostname bash[11558]: /home/john/userscript: line 5: log: Permission denied Dec 11 08:03:56 my-system-hostname bash[11558]: /home/john/userscript: line 4: log: Permission denied Dec 11 08:03:56 my-system-hostname bash[11558]: /home/john/userscript: line 5: log: Permission denied Dec 11 08:03:58 my-system-hostname bash[11558]: /home/john/userscript: line 4: log: Permission denied Dec 11 08:03:58 my-system-hostname bash[11558]: /home/john/userscript: line 5: log: Permission denied Dec 11 08:04:00 my-system-hostname bash[11558]: /home/john/userscript: line 4: log: Permission denied Dec 11 08:04:00 my-system-hostname bash[11558]: /home/john/userscript: line 5: log: Permission denied

Служба должна записывать дату и время пользователя каждые 2 секунды, но это не будет произойдет, и вместо этого я получаю ошибку разрешений. Я подтвердил, что служба запускается как john, и я мог бы правильно ее получить echo. Проблема с разрешением появляется, когда я пытаюсь записать файл.

Любой ключ?

UPDATE 1

Ниже показан вывод namei -lx /home/john/log

$ namei -lx /home/john/log f: /home/john/log Drwxr-xr-x root root / drwxr-xr-x root root home drwxr-xr-x john john john -rw-rw-r-- john john log
1
задан 11 December 2017 в 16:47

3 ответа

Я, наконец, решил. Мне пришлось добавить директиву WorkingDirectory со значением ~. Теперь он работает без каких-либо разрешений.

Благодаря @muru

1
ответ дан 22 May 2018 в 17:04

Я, наконец, решил. Мне пришлось добавить директиву WorkingDirectory со значением ~. Теперь он работает без каких-либо разрешений.

Благодаря @muru

1
ответ дан 18 July 2018 в 01:25

Я, наконец, решил. Мне пришлось добавить директиву WorkingDirectory со значением ~. Теперь он работает без каких-либо разрешений.

Благодаря @muru

1
ответ дан 24 July 2018 в 17:23

Другие вопросы по тегам:

Похожие вопросы: