root
100%

Benutzerverwaltung · Lektion 2

root

Erfahre, wie su, sudo und sudoers-Richtlinien einen kontrollierten Zugriff auf privilegierte Identitäten ermöglichen.

Das traditionell root genannte Konto besitzt die UID 0 und weitreichende Befugnisse innerhalb seines Sicherheitskontexts. Verwende für die tägliche Arbeit ein unprivilegiertes Konto und erhöhe Rechte nur für einen bestimmten administrativen Zweck, den du verstehst.

Mit su eine Shell als anderer Benutzer starten

su, kurz für substitute user, startet eine Shell oder einen Befehl mit der Identität eines anderen Kontos. Ohne Benutzernamen ist root das Standardziel:

$ su

Die Authentifizierung wird durch PAM und lokale Richtlinien gesteuert. Ein System kann nach dem Passwort des Zielkontos fragen, den Zugriff auf su einschränken oder das root-Passwort gesperrt lassen. Gehe nicht davon aus, dass die Kenntnis eines Passworts die einzige Voraussetzung ist.

Ein einfaches su wechselt die Identität und behält dabei einen größeren Teil der aktuellen Umgebung bei. su - USER, auch als su --login USER geschrieben, startet eine Shell im Anmeldestil und richtet eine Umgebung ein, die einer frischen Anmeldung am Zielkonto näherkommt:

$ su - operator

Beende die Subshell, sobald die Arbeit für das Zielkonto abgeschlossen ist.

Welcher Befehl fordert eine Shell im Anmeldestil als Benutzer operator an?

Einen bestimmten Befehl mit sudo ausführen

sudo COMMAND fordert eine Autorisierung durch die Richtlinie an, um einen Befehl als Zielbenutzer auszuführen, standardmäßig gewöhnlich als root. Mit -u USER kannst du ein anderes Ziel anfordern:

$ sudo -u postgres id

Das bedeutet nicht, dass die Anfrage genehmigt wird. Die sudo-Richtlinie berücksichtigt den aufrufenden Benutzer, den Host, die Zielidentität, den Befehl und weitere Bedingungen. Je nach Konfiguration kann die Authentifizierung das Passwort des aufrufenden Benutzers, einen anderen Mechanismus oder überhaupt keine Abfrage verwenden.

Bevorzuge nach Möglichkeit einen einzelnen, eng begrenzten administrativen Befehl gegenüber einer langlebigen privilegierten Shell. Der kleinere Umfang verringert das Risiko, dass versehentliche Befehle mit erhöhten Rechten ausgeführt werden.

Was fordert sudo -u postgres id an?

Dauerhafte privilegierte Shells vermeiden

Befehle wie su -, sudo -s oder sudo -i können eine privilegierte Shell erzeugen, wenn die Richtlinie dies erlaubt. Jeder spätere Befehl in dieser Shell kann bis zu ihrem Beenden erhöhte Auswirkungen haben. Fehlerhafte Pfade, ungeprüfte Skripte und Shell-Erweiterungen werden dadurch gefährlicher.

Das Auditverhalten hängt von der Konfiguration ab. sudo protokolliert Aufrufe häufig, doch ein einzelner protokollierter Shell-Start liefert nicht automatisch eine vollständige Aufzeichnung jedes in dieser Shell eingegebenen Befehls. Shell-Verlauf, System-Auditing und sudo-E/A-Protokollierung sind getrennte Mechanismen mit eigenen Richtlinien.

Warum ist eine langlebige root-Shell riskanter, als jeweils nur einen verstandenen Befehl mit erhöhten Rechten auszuführen?

sudo-Autorisierung überprüfen

Führe sudo -l aus, um aufzulisten, was das aktuelle Konto gemäß der aktiven Richtlinie anfordern darf:

$ sudo -l

Prüfe Befehlspfade, erlaubte Zielbenutzer und Einschränkungen für Argumente. Eine weit gefasst wirkende Regel solltest du nicht als Erlaubnis für sachfremde Arbeiten behandeln.

Welcher Befehl listet die sudo-Berechtigungen auf, die dem aktuell aufrufenden Benutzer zur Verfügung stehen?

sudoers-Richtlinien sicher bearbeiten

Die standardmäßige sudo-Richtlinie liest gewöhnlich /etc/sudoers und kann Dateien unter /etc/sudoers.d/ einbinden. Andere Richtlinienquellen sind möglich. Die Syntax steuert weit mehr als eine einfache Liste von Benutzern und Gruppen.

Verwende für Richtlinienänderungen visudo, weil es die Datei sperrt und ihre Syntax vor der Installation überprüft:

$ sudo visudo

Gib für eine ergänzende Datei ihren genauen Pfad an:

$ sudo visudo -f /etc/sudoers.d/application-admins

Bearbeite sudoers nicht mit einer gewöhnlichen Umleitung oder einem Editor-Arbeitsablauf ohne Validierung. Ein Syntax- oder Berechtigungsfehler kann den administrativen Zugriff entfernen. Halte beim Ändern einer entfernten Autorisierung einen weiteren verifizierten Wiederherstellungsweg bereit.

Welches Werkzeug solltest du verwenden, um die sudoers-Hauptrichtlinie zu bearbeiten und ihre Syntax zu prüfen?

Probiere dieses praktische Lab aus, um die delegierte Administration in einer kontrollierten Umgebung zu üben:

  1. Benutzerkonten und sudo-Berechtigungen unter Linux konfigurieren - Übe das Durchsetzen von Passwortrichtlinien, das Sperren und Entsperren von Benutzerkonten, das Absichern des root-Kontos und das Gewähren administrativer Rechte – alles unmittelbar mit der Verwaltung des Superuser-Zugriffs verbunden.

Lektion abgeschlossen

Sie haben root abgeschlossen

Du kannst nun den Identitätswechsel von der richtliniengesteuerten Befehlsdelegation unterscheiden.

  • Verwende su - USER nur, wenn eine Ziel-Shell im Anmeldestil beabsichtigt ist.

  • Fordere mit -u USER ein bestimmtes sudo-Ziel an.

  • Verbringe möglichst wenig Zeit in einer privilegierten Shell.

  • Überprüfe wirksame sudo-Regeln mit sudo -l.

  • Bearbeite sudoers-Richtlinien ausschließlich mit visudo.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Benutzerverwaltung