Sudo

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der Tipps & Tricks Sammlung

sudo (substitute user, do) ist ein Befehl unter Linux, der dazu benutzt wird, Prozesse mit den Rechten eines anderen Benutzers, beispielsweise des Superusers Root, als denen des gerade angemeldeten Benutzers zu starten. Ein Beispiel hierzu wäre: Wenn ein "normaler" User einen Befehl ausführen möchte, der jedoch nur von Root (Superuser) ausgeführt werden darf, kann er diesen (wenn dies von Root erlaubt wurde) mit Sudo ausführen. Anschließend wird nach dem Passwort des User gefragt, um sicherzustellen, dass nur autorisierte Benutzer tatsächlich Befehle im Root-Kontext ausführen können.

Die Sicherheitsrichtlinien für Sudo sind bei Fedora in der der Datei /etc/sudoers gespeichert, die natürlich nur von root editiert werden darf.

Inhaltsverzeichnis

Konfiguration

Wichtig Wichtig:

Die Datei /etc/sudoers sollte immer mit dem Befehl visudo bearbeitet werden!

Eine Konfigurationszeile in der Datei /etc/sudoers sieht wie folgt aus:

user host = (runas) command

Dabei können aber auch Aliase genutzt werden:

User_Alias - Alias für User
Host_Alias - Alias für Hosts
Runas_Alias - Alias für "als User soundso ausführen"
Cmnd_Alias - Pfad zu Programmen, die mit Superuserrechten ausgeführt werden dürfen

Konfigurationsbeispiele

Cmnd_Alias  NETWORK = /usr/bin/system-config-network, /usr/bin/system-config-samba
beispieluser  ALL = (root) NETWORK

Will man einen Benutzer haben, der alles darf (also wie bei Ubuntu) fügt man diese Zeile dazu

beispieluser    ALL=(ALL)       ALL

oder der schnellere Weg

echo 'beispieluser ALL=(ALL) ALL’ >> /etc/sudoers

alternativ kann auch in der Zeile

#%wheel  ALL=(ALL)       ALL

das Rauten-Symbol entfernt werden, was bewirkt, dass alle Benutzer der Gruppe wheel das System ohne Einschränkungen nutzen können. Anschließend müssen die jeweiligen Benutzer nur noch zu der Gruppe "wheel" hinzugefügt werden.

Abspeichern

Abschließend lassen sich die Änderungen durch drücken der "ESC" - Taste und Eingabe von

:wq!

abspeichern.

Verwendung

Wenn nun Befehle als root ausgeführt werden sollten, dann kann dies mit sudo geschehen.

sudo <Kommando>

Hat man die Kommandozeile versehentlich ohne sudo ausgeführt, reicht ein:

$ sudo !!

Und die vorherige Zeile wird als root ausgeführt.
Das geht vor allem dann schneller als Pfeiltaste hoch (.bash_history), Strg+S (o. Pos1) und Alt+d wenn man eine Terminalemulation (Pseudoterminal) geöffnet hat. Bei gnome-terminal beispielsweise muss für einige Bash-Tastenkürzel nämlich unter Anzeige die Menüleiste ausgeblendet werden.