Seite 1 von 1
[gelöst] Services mit User Rechten neu starten
Verfasst: 27.05.2020 11:20:22
von joe2017
Hallo zusammen,
ich suche gerade nach einer Möglichkeit einem standard Benutzer die Berechtigung zu erteilen, eigen erstellte services neu starten zu dürfen.
Ich möchte diesem natürlich keine sudo Rechte erteilen. Gibt es hier einen anderen Ansatz?
Der Benutzer wird sich mittels ssh anmelden und soll anschließend die Services starten, stoppen und neustarten können.
Wenn möglich würde ich dies gerne auf spezielle Services einschränken.
Re: Services mit User Rechten neu starten
Verfasst: 27.05.2020 12:07:29
von cronoik
Helfen dir User Units [1]?
Des Weiteren kannst (solltest!) du sudo auch auf bestimmte Befehle einschraenken.
[1]
https://wiki.ubuntuusers.de/systemd/User_Units/
Re: Services mit User Rechten neu starten
Verfasst: 27.05.2020 12:45:53
von smutbert
Die User Units hätte ich auch vorgeschlagen. User Units werden halt für jeden Benutzer gestartet und das normalerweise erst wenn der sich anmeldet, aber das kann man für einzelne User auch ändern (loginctl enable-linger benutzername). Wenn es also nur um einen oder wenige Benutzer gibt, der oder die jeweils nur eigene Services manipulieren dürfen sollen, wäre das vielleicht das Mittel der Wahl.
Sonst bleiben nur system-units entweder in Kombination mit einem entsprechend konfigurierten sudo oder auch mit policykit. Mit einer policykit-Regel kann man recht einfach bestimmten Benutzern erlauben einen bestimmten Dienst zu starten oder beenden.
Re: Services mit User Rechten neu starten
Verfasst: 27.05.2020 13:10:00
von joe2017
Ich habe auch noch folgendes hierzu gefunden. Jetzt ist die Frage ob man das generell nicht so macht.
Unter dem Verzeichnis /etc/sudoers.d/ eine neue Datei mit meinem Benutzer anlegen.
Hier hab ich jedoch Probleme mit der Syntax. Irgendwas stimmt hier noch nicht.
sudo nano /etc/sudoers.d/username
Code: Alles auswählen
usersname ALL=(ALL)NOPASSWD:/bin/systemctl start mein-service.service
usersname ALL=(ALL)NOPASSWD:/bin/systemctl stop mein-service.service
usersname ALL=(ALL)NOPASSWD:/bin/systemctl restart mein-service.service
NOPASSWD möchte ich eigentlich nicht verwenden.
Re: Services mit User Rechten neu starten
Verfasst: 27.05.2020 14:51:24
von cronoik
joe2017 hat geschrieben: 
27.05.2020 13:10:00
Unter dem Verzeichnis /etc/sudoers.d/ eine neue Datei mit meinem Benutzer anlegen.
Hier hab ich jedoch Probleme mit der Syntax. Irgendwas stimmt hier noch nicht.
Was soll denn herauskommen? Hast du mehrere user die das sollen? Sollen die alle den gleichen Service ausfuehren oder hat jeder unterschiedliche?
joe2017 hat geschrieben: 
27.05.2020 13:10:00
NOPASSWD möchte ich eigentlich nicht verwenden.
Du musst das nicht setzen. Wenn du es nicht setzt, muss der user sein Passwort eingeben.
Re: Services mit User Rechten neu starten
Verfasst: 27.05.2020 15:27:32
von joe2017
Ich habe nur ein User der bestimmte Services starten und stoppen muss.
Wenn ich die Syntax auf folgende ändere hab ich wieder einen Syntax Fehler
Code: Alles auswählen
usersname ALL=(ALL):/bin/systemctl start mein-service.service
Mit dem NOPASSWD ist die Syntax richtig
Code: Alles auswählen
usersname ALL=(ALL)NOPASSWD:/bin/systemctl start mein-service.service
Re: Services mit User Rechten neu starten
Verfasst: 27.05.2020 15:36:34
von smutbert
Code: Alles auswählen
username ALL=(ALL) /bin/systemctl start mein-service.service
Du kennst visudo?
Re: Services mit User Rechten neu starten
Verfasst: 27.05.2020 15:49:31
von joe2017
visudo... Das habe ich gerade gelesen, dass hier die Syntax geprüft wird.
Ich muss nur noch schnell schauen wie ich das verwende.
Deine Syntax werde ich gleich noch testen. Hat funktioniert! Perfekt
