Sudo: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
MacWolf (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:


werden dem entsprechenden Benutzer die gleichen Rechte gewährt wie root selbst, wobei USER_NAME durch den jeweiligen Benutzernamen zu ersetzen ist.
werden dem entsprechenden Benutzer die gleichen Rechte gewährt wie root selbst, wobei USER_NAME durch den jeweiligen Benutzernamen zu ersetzen ist.
Wll man einem Benutzer beispielsweise einen einzigen Befehl für einen Benutzer freischalten, ohne dass er das Passwort eingeben muss, muss folgende Zeile eingefügt werden
  USER_NAME  ALL=NOPASSWD:/Pfad/zum/Programm
wobei USER_NAME durch den Benutzernamen zu ersetzen ist.


== Tab-Completion (Tabs vervollständigen) für sudo Benutzer ==
== Tab-Completion (Tabs vervollständigen) für sudo Benutzer ==

Version vom 22. Dezember 2008, 11:57 Uhr

Was ist Sudo?

sudo (substitute user do) ist ein Befehl, der dazu benutzt wird, Prozesse mit den Rechten eines anderen Benutzers (z.B. des Superusers root) zu starten, während sudo alle Befehle und Argumente mitloggt. Der dauerhafte Wechsel der Identität erfolgt durch sudo -s oder mit dem Befehl su.

Man benutzt sudo anstelle von su, um bestimmten Benutzern die Möglichkeit zu geben, gewisse Programme z.B. mit Root-Rechten ausführen zu können ohne das Root-Passwort weitergeben zu müssen. Die Sicherheitsrichtlinien sind in der Datei /etc/sudoers gespeichert.

Installation

Um sudo zu installieren:

pacman -S sudo

Sudo für Benutzer einrichten

Um den Benutzer (bestimmte) root-Privilegien zu geben muss die Datei /etc/sudoers als root mit dem Kommando visudo bearbeitet werden, da so eine Syntaxüberprüfung gewährleistet ist. Bei der direkten Bearbeitung ohne Prüfung, also mit einem anderen Editor kann der kleinste Tippfehler dazu führen, dass man sich aus dem System aussperrt und nur über den Recovery Modus wieder Zugang erhalten kann. Dies sollte daher unbedingt mit folgendem Kommando gemacht werden:

 su
 visudo

Durch hinzufügen der Zeile

 USER_NAME   ALL=(ALL) ALL

werden dem entsprechenden Benutzer die gleichen Rechte gewährt wie root selbst, wobei USER_NAME durch den jeweiligen Benutzernamen zu ersetzen ist.

Wll man einem Benutzer beispielsweise einen einzigen Befehl für einen Benutzer freischalten, ohne dass er das Passwort eingeben muss, muss folgende Zeile eingefügt werden

 USER_NAME   ALL=NOPASSWD:/Pfad/zum/Programm

wobei USER_NAME durch den Benutzernamen zu ersetzen ist.

Tab-Completion (Tabs vervollständigen) für sudo Benutzer

Normalerweise werden Tabs in einem Terminal durch drücken der Tabulator-Taste automatisch vervollständigt. Das erspart zum Beispiel das komplette eingeben eines Dateinamen. Beispiel:

 fir<TAB>

ergibt in der Shell das Kommando:

 firefox

Wollen Sudo-Benutzer Tab-Completion geniessen muss noch die Datei ~/.bashrc editiert werden:

complete -cf sudo

External links

Wikipedia-Seite zu sudo (de)

Das "Sudoers Manual" (en)

Archwiki Setting up Sudo (en)