Mit sudo können User Programme als ein anderer User ausführen.

In der Konfigurationsdatei /etc/sudoers kann man angeben, wer welche Befehle als welcher Benutzer ausführen darf.

/!\ Diese Datei muss immer mit dem Programm visudo bearbeitet werden. Es sorgt dafür, dass die Datei nur von einer Person bearbeitet wird und prüft auch gleich die Syntax.

Es ist somit möglichen einzelnen Usern z.B. die Möglichkeit zu geben Druckdienste oder bind zu pflegen, aber keine weiteren Rechte zu haben. Auch die Rechte für den Shutdown u.a. können so zugeteilt werden.

sudo ist in einer Multiuser-Umgebung sehr nützlich. Es gibt auch andere, ähnliche Pakete wie z.B. CaLife .

Die Regeln sind so aufgebaut:

user host = (runas) command

An jeder Stelle können auch Aliase benutzt werden:

  1. User_Alias - Aliase für User

  2. Host_Alias - Aliase für Hosts

  3. Runas_Alias - Aliase für 'als User X ausführen'

  4. Cmnd_Alias - Pfade zu Programmen, die mit Superuserrechten ausgeführt werden dürfen

Die genauen Regeln dafür sind in der ManPage zu sudoers beschrieben.

Beispiel

Cmnd_Alias  CONFIG = /usr/bin/redhat-config-bind, /usr/bin/redhat-config-httpd, /usr/bin/redhat-config-samba

beispieluser1  ALL = (root) CONFIG

beispieluser2 ALL = /usr/bin/rsync

Damit würde man beispieluser1 Zugriff auf eine Anzahl Konfigtools geben und beispieluser2 die Möglichkeit rsync als root auszuführen.

sudo (zuletzt geändert am 2007-12-23 22:48:41 durch localhost)