Ошибка «Отказано в доступе» при попытке запустить приложение как службу с помощью systemd

Ошибка «Отказано в доступе» при попытке запустить приложение как службу с помощью systemd

Я хочу запустить приложение как службу непривилегированным пользователем в Ubuntu. Ниже приведена команда для создания пользователя:

sudo groupadd -r mygroup
sudo useradd -r -s /bin/false -g mygroup myuser
sudo chown -R mygroup:myuser /path/to/my/app

Ниже приведен мой файл обслуживания:

[Unit]
Description=Myapp server
After=syslog.target
After=network.target

[Service]
WorkingDirectory=/path/to/my/app
ExecStart=/usr/bin/java -jar /path/to/my/app/myapp.jar
User=myuser
Type=simple
StandardOutput=syslog
StandardError=syslog
SuccessExitStatus=143
TimeoutStopSec=120
Restart=always

[Install]
WantedBy=multi-user.target

Однако при запуске службы в журнале появляется следующая ошибка:

Changing to the requested working directory failed: Permission denied
Failed at step CHDIR spawning /usr/bin/java: Permission denied

Я пробовал добавить пользователя в группу sudo sudo usermod -aG sudo myuserи добавить sudo в ExecStart, тоже не работает.

Changing to the requested working directory failed: Permission denied
Failed at step CHDIR spawning sudo: Permission denied

решение1

Краткое содержание «Чоуна» следующее:

chown [OPTION]... [OWNER][:[GROUP]] FILE...

Вы указываете mygroup:myuser в качестве аргументов, что неправильно. Используйте:

sudo chown -R myuser:mygroup /path/to/my/app

Связанный контент