Neue Identität
Zu Befehl: su, sudo
Gezielte Freigabe
In /etc/sudoers definieren Sie in der Sektion Host alias specification Computer, für die bestimmte sudo-Aufrufe gelten sollen. Ein dazu eingerichtetes Host_Alias bildet eine Gruppe von Computern wahlweise durch Aufführung ihrer Namen oder durch Definition bestimmter IP-Netzbereiche unter einem Namen ab. Sinnvoll ist dieses Feature nur, wenn Sie die sudo-Konfiguration auf mehreren Rechnern verwenden aber zentral verwalten wollen.
Im Bereich User_Alias fassen Sie mehrere Benutzer zu einer Gruppe zusammen, wenn alle die gleichen Rechte haben sollen. Zunächst definieren Sie den Alias-Typ (z. B. User_Alias), dann den Alias-Namen (darf Großbuchstaben, Unterstrich und Zahlen enthalten), eine Zuweisung in Form eines "="-Zeichen und als letztes die Benutzernamen durch Kommata getrennt. Um die Benutzer huhn und petronella in einer Gruppe zusammenzufassen, die beispielsweise den Rechner herunterfahren darf, tragen Sie ein:
# User alias specification User_Alias ABSCHALTER=petronella,huhn
Als nächstes definieren Sie in der Sektion Cmnd alias specification einen Alias für das Kommando shutdown. Dabei geben Sie den kompletten Pfad zum Programm an:
# Cmnd alias specification Cmnd_Alias DOWN = /sbin/shutdown
Damit sudo auch weiß, dass die ABSCHALTER dieses Kommando ausführen dürfen, fehlt noch ein Eintrag unter User privilege specification:
ABSCHALTER ALL = DOWN
Ein Benutzer aus der Gruppe ABSCHALTER darf den Computer nun mit dem Befehl sudo /sbin/shutdown herunterfahren. Wer einfach nur für einen Benutzer einen einzigen Befehl freigeben möchte, kann das einfacher erreichen: Der Eintrag
huhn ALL = /usr/sbin/visudo
erlaubt dem Benutzer huhn, mit sudo /usr/sbin/visudo die Datei /etc/sudoers zu editieren.
Ausgegrenzt oder uneingeschränkt?
Durch einen einfachen Eintrag in /etc/sudoers können Sie einzelnen Benutzern Kommandos auch wieder wegnehmen. Die Syntax dazu lautet beispielsweise:
ABSCHALTER ALL = DOWN petronella ALL = !DOWN
Wichtig ist, dass die Ausnahme direkt unter der Regel steht, da die Datei von oben nach unten abgearbeitet wird. So kann die Gruppe ABSCHALTER, die möglicherweise noch andere Kommandos ausführen darf, weiter bestehen, aber petronella kann den Rechner nicht mehr herunterfahren. Falls dieser Benutzer dennoch versucht, den Befehl auszuführen, erhält er die Meldung "Sorry, user petronella is not allowed to execute '/usr/sbin/visudo' as root on asteroid.cologne.de."
Wer möchte, kann die Passwort-Abfrage für einzelne oder alle Befehle unterdrücken. Dazu setzt man das Flag NOPASSWD:
ABSCHALTER ALL=NOPASSWD:DOWN
Die Sicherheit für sudo lässt sich aber nicht nur heruntersetzen, sondern auch verschärfen. Sie können Ihre Benutzer dazu "zwingen", bei jedem sudo-Aufruf das Passwort einzugeben. Standardmäßig verwendet sudo eine Art "Ticket"-System, in dem ein Timeout dafür sorgt, dass eine verlassene root-Shell auf der Konsole nicht Tür und Tor für Unbefugte öffnet. Die Vorgabe liegt bei den meisten Distributionen bei 15 Minuten, die das Ticket gültig ist. Um den Timeout auf 0 Minuten herunterzusetzen, tragen Sie in /etc/sudoers beispielsweise ein:
Defaults timestamp_timeout = 0



