Error de permiso denegado al intentar ejecutar mi aplicación como un servicio con systemd

Error de permiso denegado al intentar ejecutar mi aplicación como un servicio con systemd

Quiero ejecutar una aplicación como servicio por parte de un usuario sin privilegios en Ubuntu. El siguiente es el comando para crear el usuario:

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

A continuación se muestra mi archivo de servicio:

[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

Sin embargo, cuando inicio el servicio, aparece el siguiente error en el registro:

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

Intenté agregar al usuario al grupo sudo sudo usermod -aG sudo myusery agregar sudo a ExecStart, tampoco funciona.

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

Respuesta1

La sinopsis de chown es la siguiente:

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

Le estás dando mygroup:myuser como argumentos, lo cual es al revés. Usar:

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

información relacionada