sudo

Aus Foxwiki

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

Aufruf

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-Page

Info-Pages

Siehe auch

Links

Projekt-Homepage

Weblinks

  1. https://wiki.ubuntuusers.de/sudo/