[gelöst] Services mit User Rechten neu starten

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

[gelöst] Services mit User Rechten neu starten

Beitrag von joe2017 » 27.05.2020 11:20:22

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.
Zuletzt geändert von joe2017 am 27.05.2020 16:03:06, insgesamt 1-mal geändert.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Services mit User Rechten neu starten

Beitrag von cronoik » 27.05.2020 12:07:29

Helfen dir User Units [1]?

Des Weiteren kannst (solltest!) du sudo auch auf bestimmte Befehle einschraenken.

[1] https://wiki.ubuntuusers.de/systemd/User_Units/
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Services mit User Rechten neu starten

Beitrag von smutbert » 27.05.2020 12:45:53

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.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Services mit User Rechten neu starten

Beitrag von joe2017 » 27.05.2020 13:10:00

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.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Services mit User Rechten neu starten

Beitrag von cronoik » 27.05.2020 14:51:24

joe2017 hat geschrieben: ↑ zum Beitrag ↑
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: ↑ zum Beitrag ↑
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.
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Services mit User Rechten neu starten

Beitrag von joe2017 » 27.05.2020 15:27:32

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

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Services mit User Rechten neu starten

Beitrag von smutbert » 27.05.2020 15:36:34

Code: Alles auswählen

username	ALL=(ALL)	/bin/systemctl start mein-service.service
Du kennst visudo?

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Services mit User Rechten neu starten

Beitrag von joe2017 » 27.05.2020 15:49:31

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 :hail:

Antworten