Fehler „Berechtigung verweigert“ beim Versuch, meine App als Dienst mit systemd auszuführen

Fehler „Berechtigung verweigert“ beim Versuch, meine App als Dienst mit systemd auszuführen

Ich möchte eine App als Dienst durch einen nicht privilegierten Benutzer in Ubuntu ausführen. Nachfolgend der Befehl zum Erstellen des Benutzers:

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

Nachfolgend meine Servicedatei:

[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

Wenn ich den Dienst starte, wird jedoch der folgende Fehler im Protokoll angezeigt:

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

Ich habe versucht, den Benutzer zur Sudo-Gruppe hinzuzufügen sudo usermod -aG sudo myuserund Sudo zu ExecStart hinzuzufügen, aber das funktioniert auch nicht.

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

Antwort1

Die Inhaltsangabe von Chown lautet wie folgt:

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

Sie geben mygroup:myuser als Argumente an, was falsch herum ist. Verwenden Sie:

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

verwandte Informationen