Wie kann ich allen Benutzern erlauben, einen bestimmten Befehl über sudo auszuführen?

25

Ich kann einen Befehl erstellen, den ein bestimmter Benutzer über ausführen kann sudo. Ich habe einen bestimmten Befehl , den ich zulassen mag jedem Benutzer über ausführen zu können , sudoohne ein Passwort einzugeben. Was würde ich in meine Datei / etc / sudoers einfügen, um dies zu erreichen?

Josh
quelle
Vielen Dank, dass Sie diese Frage gestellt haben. Ich habe man sudoerseinmal reingeschaut und keine Antwort gefunden. Ich schaute man sudoersein zweites Mal genauer hin. Trotzdem habe ich versagt, TMI! Dann, dank der Antworten hier, habe ich gegrübelt man sudoersund festgestellt, warum dies funktioniert. Sieht so aus, als müssten Sie erst wissen, wie es geht, bevor Sie verstehen können man sudoers. Seufzer!
Tino

Antworten:

24

Ein Abschnitt wie dieser in Ihren sudoers ist vermutlich, was Sie wünschen.

Cmnd_Alias NAMEOFTHIS=/usr/bin/program
ALL ALL=NOPASSWD: NAMEOFTHIS
Zoredache
quelle
Nicht , dass der Zugriff gewährt haben nur Benutzer Benutzername ? Gibt es einen Platzhalter, den ich stattdessen verwenden kann? Ich möchte, dass jeder authentifizierte Benutzer den Befehl ausführen kann.
Josh
Dann benutze eine Gruppe, der sie alle angehören.
Broam
Vielen Dank! Ich schwöre, ich habe es versucht, aber ich habe ein Leerzeichen vergessen, also hat es nicht funktioniert!
Josh
1
Wenn es nicht nur Benutzer sind, würde ich einfach eine Gruppe hinzufügen, weil dies die Mitgliedschaft von etwas ist, das Sie verfolgen möchten - wer kann sudodas?
Broam
1
Wenn Sie wirklich keine Gruppe hinzufügen möchten (schlägt mich warum nicht) und dennoch einzelne Benutzer benötigen, verwenden Sie User_Alias SOMEUSERS = user1, user2.
Brett Ryan
18

Sie können das SUID-Bit berücksichtigen . Bestimmte Programme erfordern Root-Rechte und verwenden das SUID-Bit, z passwd.

Wenn sudo die bessere Wahl für Sie ist, können Sie Folgendes verwenden:

ALL ALL=NOPASSWD: /path/to/command
Warner
quelle
3
Es ist ein Shell-Skript, das einen lokalen Caching-Nameserver neu startet ... also funktioniert SUID in diesem Fall nicht, oder?
Josh
Zoredache schlug mich in der Zeit, die ich brauchte, um meine empfohlene Lösung zu testen. =)
Warner
Während er mich gleichzeitig im Chat belästigte, weil ich eine so einfache Frage gestellt hatte, nicht weniger!
Josh
1
@ Josh: dann nicht einfach Fragen posten :-)
Bart Silverstrim
2
@Josh: Klingt eigentlich nach einem ordentlichen Feature. Multiharassitasking.
Bart Silverstrim