sudo
sudo führt Kommandos mit der Identität eines anderen Benutzers aus
Beschreibung
- Der Befehl sudo kann Programmaufrufen vorangestellt werden
- Er ermöglicht berechtigten Benutzern, das Programm im Namen und mit den Rechten eines anderen Benutzers auszuführen.
- sudo, sudoedit — execute a command as another user
sudo ermöglicht es einem zugelassenen Benutzer, einen Befehl als Superuser oder als ein anderer Benutzer auszuführen, wie in der Sicherheitsrichtlinie angegeben.
- Die echte (nicht effektive) Benutzer-ID des aufrufenden Benutzers wird verwendet, um den Benutzernamen zu bestimmen, mit dem die Sicherheitsrichtlinie abgefragt wird.
sudo unterstützt eine Plugin-Architektur für Sicherheitsrichtlinien, Auditing und Input/Output-Logging.
- Dritte können ihre eigenen Plugins entwickeln und vertreiben, die nahtlos mit dem sudo-Frontend zusammenarbeiten.
- Die Standard-Sicherheitsrichtlinie ist sudoers, die über die Datei /etc/sudoers oder über LDAP konfiguriert wird.
- Weitere Informationen finden Sie im Abschnitt Plugins.
Die Sicherheitsrichtlinie bestimmt, ob und welche Rechte ein Benutzer hat, um sudo auszuführen.
- Die Richtlinie kann verlangen, dass sich die Benutzer mit einem Passwort oder einem anderen Authentifizierungsmechanismus authentifizieren.
- Wenn eine Authentifizierung erforderlich ist, wird sudo beendet, wenn das Passwort des Benutzers nicht innerhalb einer konfigurierbaren Zeitspanne eingegeben wird.
- Dieses Zeitlimit ist richtlinienspezifisch; das Standardzeitlimit für die Kennworteingabeaufforderung für die Sicherheitsrichtlinie sudoers beträgt 0 Minuten.
Sicherheitsrichtlinien können das Zwischenspeichern von Anmeldeinformationen unterstützen, damit der Benutzer sudo für eine gewisse Zeit erneut ausführen kann, ohne dass eine Authentifizierung erforderlich ist.
Die sudoers-Richtlinie zwischenspeichert Anmeldeinformationen für jedes Terminal für 15 Minuten.
- Weitere Informationen finden Sie unter den Optionen timestamp_type und timestamp_timeout in sudoers(5).
- Wenn Sie sudo mit der Option -v ausführen, kann ein Benutzer die zwischengespeicherten Anmeldeinformationen aktualisieren, ohne einen Befehl auszuführen.
Auf Systemen, auf denen sudo die primäre Methode zur Erlangung von Superuser-Rechten ist, müssen unbedingt Syntaxfehler in den Konfigurationsdateien der Sicherheitsrichtlinien vermieden werden.
- Für die Standard-Sicherheitsrichtlinie sudoers(5) sollten Änderungen an den Konfigurationsdateien mit dem Dienstprogramm visudo(8) vorgenommen werden.
Wenn es als sudoedit aufgerufen wird, ist die Option -e (siehe unten) impliziert.
Sicherheitsrichtlinien und Audit-Plugins können erfolgreiche und fehlgeschlagene Versuche, sudo auszuführen, protokollieren.
- Wenn ein E/A-Plugin konfiguriert ist, können auch die Ein- und Ausgaben des laufenden Befehls protokolliert werden.
Installation
# apt-get install sudo
Syntax
sudo -h | -K | -k | -V sudo -v [-ABknS] [-g group] [-h host] [-p prompt] [-u user] sudo -l [-ABknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command] sudo [-ABbEHnPS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] [VAR=value] [-i | -s] [command] sudoedit [-ABknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-r role] [-t type] [-T timeout] [-u user] file ...
Parameter
Optionen
Umgebung
Rückgabewert
Konfiguration
Nach der Installation muss jeder Benutzer, der SuperUser-Rechte erhalten soll, der Gruppe "sudo" hinzugefügt werden
# usermod -G sudo -a BENUTZERNAME
- Ausführen von sudo ohne Passwort
# visudo
In der sudoers.d Datei in der letzten Zeile folgenden Befehl einfügen:
'USER' ALL=(ALL) NOPASSWD:ALL
- User ist der Name des Users, den das betreffen soll.
- Einzelne Befehle auszuschließen
- in der Klammer die Befehle listen, die gewünscht sind, in diesem Fall sind das alle Befehle (ALL)
Dateien
Anwendung
- Beispielsweise um Aufgaben auszuführen, die Administratoren vorbehalten sind:
- Programme installieren (sudo apt-get install ...)
- Systemkonfigurationen ändern (sudo nano /etc/fstab)
- Der Linux-Befehl sudo ermöglicht einem Benutzer, einen Befehl als Superuser oder als ein anderer Benutzer auszuführen.
- sudo erfordert die Angabe eines Passworts.
- Dies ist normalerweise das Benutzerpasswort, nicht das Root-Passwort
- Beispiel
usermod -G sudo -a Otto
Jetzt gehört der User Otto der Gruppe sudo an.
sudo apt update
Und kann mit sudo root Befehle ausführen, ohne sich als root anzumelden.
less /etc/group
Mit diesem Befehl lassen sich Gruppen anzeigen und nachvollziehen, wer zu sudo gehört. Siehe /etc/groups
Sicherheit
- "could not open display"
- /etc/sudoers.d
Defaults env_keep += "DISPLAY"
This will allow sudo to pass the DISPLAY environment variable to the program it runs, and those programs will then be able to connect to the correct DISPLAY.
xhost +
Dokumentation
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
- https://wiki.ubuntuusers.de/sudo/