Sudo
Aus Fedorawiki.de
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:
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.