Linux verwendet Benutzer- und Gruppenidentitäten, um Prozesse zu kennzeichnen, Eigentümer von Dateisystemobjekten festzulegen und Entscheidungen zur Zugriffskontrolle zu treffen. Menschenlesbare Namen helfen Administratoren, während der Kernel hauptsächlich mit numerischen Kennungen und Prozesszugangsdaten arbeitet.
Benutzerverwaltung · Lektion 1
Benutzer und Gruppen
Erfahre, wie Linux Benutzer und Gruppen identifiziert und wie Prozesszugangsdaten Zugriffsentscheidungen beeinflussen.
Benutzer anhand von UIDs identifizieren
Jedes Konto besitzt eine numerische Benutzerkennung oder UID. Benutzernamen werden über die Kontodatenbanken des Systems UIDs zugeordnet. Dateien speichern numerische Eigentümerangaben, die Werkzeuge gewöhnlich als den zugehörigen Namen anzeigen.
Führe id aus, um Informationen zur Identität des aktuellen Prozesses anzuzeigen:
$ id
uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo)
Die Werte unterscheiden sich je nach System. Menschliche Anmeldekonten besitzen häufig Home-Verzeichnisse wie /home/alice, doch Konten können einen anderen Pfad oder überhaupt kein gewöhnliches Home-Verzeichnis verwenden. Dienstkonten dienen oft dazu, Software unter einer eingeschränkten Identität auszuführen, und nicht der interaktiven Anmeldung.
Welche Kennung verwendet der Kernel hauptsächlich, um eine Benutzeridentität darzustellen?
Zugriff mit Gruppen organisieren
Eine Gruppe besitzt eine numerische Gruppenkennung oder GID. Ein Konto hat gewöhnlich eine primäre Gruppe und kann zusätzlichen Gruppen angehören. Mit Gruppenmitgliedschaften können Administratoren einer Gruppe von Benutzern Zugriff gewähren, ohne Berechtigungen für jedes Konto einzeln zuzuweisen.
Überprüfe Mitgliedschaften mit:
$ id alice
$ groups alice
Diese Befehle geben konfigurierte oder aufgelöste Identitätsinformationen aus. Verzeichnisdienste und Zwischenspeicher können daran beteiligt sein, weshalb das direkte Lesen von /etc/group nicht immer die vollständigen wirksamen Mitgliedschaften zeigt.
Wie kann ein Linux-Konto gewöhnlich an Gruppen beteiligt sein?
Prozesszugangsdaten verstehen
Ein Prozess besitzt Zugangsdaten wie reale und effektive UIDs und GIDs sowie ergänzende Gruppen. Die effektiven Zugangsdaten spielen bei vielen Berechtigungsprüfungen eine zentrale Rolle. Ein von einem Benutzer gestarteter Prozess übernimmt gewöhnlich die Zugangsdaten seines Elternprozesses, doch kontrollierte Mechanismen können sie ändern.
Das ist genauer als die Aussage, ein Prozess laufe immer nur „als der Benutzer, der ihn gestartet hat“. Ausführbare Dateien mit Set-User-ID, Dienstmanager, Container, Namensräume und Systemaufrufe zur Änderung von Privilegien können beeinflussen, welche Identitäten in einem bestimmten Kontext sichtbar oder wirksam sind.
Welche Informationen werden gewöhnlich berücksichtigt, wenn der Kernel einen Prozess anhand von Dateiberechtigungen prüft?
Die root-Identität erkennen
Das traditionell root genannte Konto besitzt die UID 0. Viele Linux-Berechtigungsmechanismen behandeln die UID 0 besonders und verleihen ihr weitreichende administrative Macht. Modernes Linux kann Privilegien außerdem mithilfe von Capabilities, Namensräumen, verbindlicher Zugriffskontrolle und der Einschränkung von Diensten aufteilen. „Unbegrenzte Macht in jedem Kontext“ wäre daher eine zu starke Vereinfachung.
Für die tägliche Arbeit solltest du ein unprivilegiertes Konto verwenden. Administrative Rechte vergrößern die Auswirkungen von Fehlern bei Pfadangaben, nicht vertrauenswürdigen Befehlen und kompromittierter Software.
Welche numerische UID kennzeichnet traditionell das root-Konto?
sudo unter einer Richtlinie verwenden
sudo fragt seine konfigurierte Richtlinie, ob der aufrufende Benutzer einen Befehl als Zielbenutzer ausführen darf. Das Standardziel ist häufig root, doch eine Richtlinie oder -u USER kann ein anderes Konto auswählen. Auch Authentifizierungsabfragen und Protokollierung hängen von der Konfiguration ab.
Liste die Befehle auf, die das aktuelle Konto ausführen darf:
$ sudo -l
Verwende einen erlaubten administrativen Befehl nur, wenn die Aufgabe ihn erfordert und du seine Auswirkungen verstehst. Nutze sudo nicht bloß, um eine Berechtigungsfehlermeldung zu unterdrücken, und zeige Datenbanken mit Passwort-Hashes wie /etc/shadow nicht als beiläufige Übung an.
Was tut sudo, bevor es einen angeforderten Befehl ausführt?
Probiere diese praktischen Labs aus, um die Verwaltung von Konten und Gruppen in einer kontrollierten Umgebung zu üben:
- Linux-Benutzerkonten mit useradd, usermod und userdel verwalten - Übe den vollständigen Lebenszyklus der Benutzerverwaltung, vom Erstellen und Absichern neuer Konten bis zu deren Änderung und Löschung.
- Linux-Gruppen mit groupadd, usermod und groupdel verwalten - Sammle praktische Erfahrung mit den zentralen Befehlszeilenwerkzeugen zur Gruppenverwaltung, einschließlich des Erstellens neuer Gruppen, der Änderung von Benutzermitgliedschaften und des Entfernens von Gruppen.
- Benutzerkonten und sudo-Berechtigungen unter Linux konfigurieren - Lerne grundlegende Techniken zum Verwalten von Benutzerkonten und
sudo-Berechtigungen, um die Sicherheit eines Linux-Systems zu erhöhen, darunter das Gewähren administrativer Rechte.
Lektion abgeschlossen
Sie haben Benutzer und Gruppen abgeschlossen
Du kannst nun beschreiben, wie Linux Identitäten darstellt und administrative Befehle delegiert.
Identifiziere Konten anhand ihrer UID und Gruppen anhand ihrer GID.
Unterscheide primäre und ergänzende Gruppenmitgliedschaften.
Setze Prozesszugangsdaten mit Zugriffsprüfungen in Beziehung.
Erkenne die UID 0 als traditionelle root-Identität.
Behandle
sudoals richtliniengesteuertes Delegationswerkzeug.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen