sudo

Aus Mikiwiki
Version vom 25. Dezember 2010, 00:33 Uhr von Michi (Diskussion | Beiträge) (Verwendung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Der Shell-Befehl sudo (substitute user, do) 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"; dabei wird die Datei während der Bearbeitung gesperrt und nach dem Abspeichern weist das Programm auf allfällige Syntaxfehler hin. In der Datei "sudoers" 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 Konfigurationsdatei "/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

Starten einer root-Shell.

xyz@linux$ sudo -s
Password:
root@linux:~#

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country WS.gif Todd C. Miller eng Sudo main pagewbm
country DE.gif Linux User ger Neue Identität : zu Befehl: su, sudowbm