sudo

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Der Shell-Befehl sudo führt einen anderen Shell-Befehl mit den Rechten eines anderen Benutzers (z. B. "root") aus. Dabei kann auch festgelegt werden, welche Befehle überhaupt ausgeführt werden dürfen.

Konfiguration

Die Konfiguration von sudo erfolgt mit visudo (nicht mit vi!) in der Datei "/etc/sudoers". In dieser Datei werden alle Benutzer aufgelistet, die sudo verwenden dürfen.

mik ALL=(ALL)               # Benutzer "mik" darf mit sudo alles
mik ALL=(ALL) NOPASSWD: ALL # Benutzer "mik" darf mit sudo alles ohne Abfrage des Passworts

Manche Linux-Distributionen (z. B. Knoppix, Ubuntu) verwenden sudo, um den Standardbenutzer praktisch zum root-Benutzer zu machen, indem sie in der Konfiguratiobsdatei "/etc/sudoers" einen Eintrag der Form "<Benutzername> ALL = (root)" anlegen. In diesem Fall darf jeder Benutzer beliebige Befehle als Benutzer "root" absetzen, indem er dem gewünschten Befehl das Wort "sudo" voranstellt, also z. B. "sudo killall -9 <Befehl>", um alle Prozesse namens "Befehl" abzuschiessen. Dabei fordert sudo zur Sicherheit nur das eigene Passwort des aufrufenden Benutzers an; anschliessend wird der darauf folgende Befehl mit root-Rechten ausgeführt.

Benutzer "xyz" darf den Befehl "tail -f /var/log/messages" ausführen, wobei der Befehl exakt wie angegeben auf der Befehlszeile eingegeben werden muss.

xyz ALL = (root) tail -f /var/log/messages

Verwendung

Änderungen in der Konfigurationsdatei "/etc/sudoers".

# /usr/sbin/visudo -f sudoers

...

$ sudo newaliases

Ausführen von Befehl1 und Befehl2 in einer Subshell.

$ sudo (Befehl1; Befehl2)

Anzeige der Befehle, die der aufrufende unpriviligierte Benutzer mit sudo aufrufen darf.

$ sudo -l

Weblinks