sudo: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Michi (Diskussion | Beiträge) |
||
Zeile 34: | Zeile 34: | ||
$ <b>sudo -l</b> | $ <b>sudo -l</b> | ||
Starten einer root-Shell. | |||
xyz@linux$ <b>sudo -s</b> | |||
Password: | |||
root@linux:~# | |||
== Weblinks == | == Weblinks == |
Aktuelle Version vom 24. Dezember 2010, 23:33 Uhr
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 |
---|---|---|---|
Todd C. Miller | eng | Sudo main pagewbm |
|
Linux User | ger | Neue Identität : zu Befehl: su, sudowbm |