Wie kann ich Sudo-Rechte nur für bestimmte Skriptdateien vergeben?


16

Ich möchte, dass ein Benutzer über Sudo-Rechte (ohne Kennwortprüfung) für einige Shell-Skripte in einem bestimmten Verzeichnis (in meinem Fall /usr/local/tomcat7/bin) und an keiner anderen Stelle verfügt. Was ist der einfachste Weg, um dies zu erreichen?

So etwas in /etc/sudoersschien nicht zu funktionieren:

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin

Antworten:


22

Ich denke du bist fast da. setzen Sie ein /am Ende Ihrer Verzeichnisangabe

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/

Von der sudoers-Manpage

Ein Verzeichnis ist ein vollständig qualifizierter Pfadname, der mit einem '/' endet. Wenn Sie ein Verzeichnis in einer Cmnd_List angeben, kann der Benutzer alle Dateien in diesem Verzeichnis ausführen (jedoch nicht in Unterverzeichnissen).


Danke (an beide Antwortenden), es hat funktioniert! Hinweis zur Selbsthilfe : Notwendigkeit , die Skripte direkt (zB aufrufen sudo catalina.sh stop) - dies nicht funktioniert: sudo sh catalina.sh stop.
Jonik

7

Fügen Sie am Ende des Pfads einen Schrägstrich '/' ein.

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.