Einführung
Willkommen zum Lab über die Verwaltung von Benutzeridentitäten und Zugriffskontrollen in Linux. Die ordnungsgemäße Benutzer- und Zugriffsverwaltung ist ein Eckpfeiler der Systemsicherheit und -administration. Sie stellt sicher, dass Benutzer nur Zugriff auf die Ressourcen haben, die für ihre Rollen notwendig sind, und verhindert so unbefugte Aktionen und potenzielle Sicherheitsverletzungen.
In diesem Lab erhalten Sie praktische Erfahrung mit den wesentlichen Kommandozeilen-Tools zur Verwaltung von Benutzern, Gruppen und Berechtigungen. Sie lernen, Benutzerkonten zu erstellen, Gruppenmitgliedschaften zu verwalten, den Dateizugriff mit chmod und chown zu steuern und spezifische administrative Berechtigungen mit sudo zu erteilen. Am Ende dieses Labs werden Sie eine solide Grundlage für die Absicherung einer Linux-Umgebung haben.
Benutzerkonten und Gruppen erstellen und verwalten
In diesem Schritt lernen Sie, wie Sie Benutzerkonten und Gruppen erstellen und verwalten, was grundlegende Aufgaben für jeden Linux-Systemadministrator sind. Wir werden einen neuen Benutzer, eine neue Gruppe erstellen und dann den Benutzer zu dieser Gruppe hinzufügen.
Zuerst erstellen wir einen neuen Benutzer namens alice. Wir verwenden den Befehl useradd mit der Option -m, die dem System mitteilt, ein Home-Verzeichnis für den Benutzer zu erstellen.
sudo useradd -m alice
Als Nächstes sollte jedes Benutzerkonto ein Passwort haben. Verwenden Sie den Befehl passwd, um ein Passwort für alice festzulegen. Sie werden aufgefordert, das neue Passwort einzugeben und zu bestätigen.
sudo passwd alice
Für dieses Lab können Sie ein einfaches Passwort wie password eingeben. Stellen Sie sicher, dass Sie dasselbe Passwort zweimal eingeben – wenn sie nicht übereinstimmen, erhalten Sie eine Fehlermeldung und müssen es erneut versuchen.
Um zu überprüfen, ob der Benutzer alice erstellt wurde, können Sie die Datei /etc/passwd überprüfen, die Informationen über alle Benutzerkonten enthält.
grep alice /etc/passwd
Sie sollten eine Ausgabezeile sehen, die Details für den Benutzer alice enthält.
alice:x:5001:5001::/home/alice:/bin/sh
Nun erstellen wir eine neue Gruppe namens developers. Dazu verwenden wir den Befehl groupadd.
sudo groupadd developers
Um die Gruppenerstellung zu überprüfen, können Sie die Datei /etc/group überprüfen.
grep developers /etc/group
Die Ausgabe sollte die neue Gruppe anzeigen.
developers:x:5003:
Schließlich fügen wir unseren neuen Benutzer alice zur Gruppe developers hinzu. Wir verwenden den Befehl usermod mit den Optionen -aG. -a steht für "append" (anhängen) und -G gibt die Gruppe(n) an. Es ist wichtig, -a zu verwenden, um zu vermeiden, dass der Benutzer aus anderen Gruppen entfernt wird, denen er möglicherweise angehört.
sudo usermod -aG developers alice
Um zu bestätigen, dass alice nun Mitglied der Gruppe developers ist, verwenden Sie den Befehl groups.
groups alice
Die Ausgabe listet alle Gruppen auf, zu denen alice gehört, was nun auch developers einschließen sollte.
alice : alice developers
Datei- und Verzeichnisperechtigungen konfigurieren (chmod, chown)
In diesem Schritt lernen Sie, wie Sie Datei- und Verzeichnisberechtigungen mit den Befehlen chmod und chown verwalten. Diese sind unerlässlich, um zu steuern, wer Dateien auf Ihrem System lesen, schreiben oder ausführen darf. Wir werden mit einer Datei arbeiten, die sich unter ~/project/reports/quarterly.txt befindet.
Zuerst untersuchen wir den aktuellen Besitz und die Berechtigungen der Datei mit dem Befehl ls -l.
ls -l reports/quarterly.txt
Die Ausgabe wird in etwa so aussehen und zeigen, dass die Datei dem Benutzer und der Gruppe labex gehört.
-rw-rw-r-- 1 labex labex 20 Aug 5 10:34 reports/quarterly.txt
Nun ändern wir den Besitz dieser Datei. Wir machen den Benutzer alice zum Eigentümer und die Gruppe developers zum Gruppenbesitzer. Dazu verwenden wir den Befehl chown. Die Syntax lautet chown user:group filename.
sudo chown alice:developers reports/quarterly.txt
Wir überprüfen die Änderung, indem wir ls -l erneut ausführen.
ls -l reports/quarterly.txt
Die Ausgabe zeigt nun den neuen Eigentümer und die neue Gruppe.
-rw-rw-r-- 1 alice developers 20 Aug 5 10:34 reports/quarterly.txt
Als Nächstes ändern wir die Berechtigungen der Datei mit dem Befehl chmod. Wir möchten die Berechtigungen so festlegen, dass:
- Der Eigentümer (
alice) Lese- und Schreibzugriff (rw-) hat. - Die Gruppe (
developers) nur Lesezugriff (r--) hat. - Andere überhaupt keinen Zugriff haben (
---).
In oktaler (numerischer) Notation ist Lesen 4, Schreiben 2 und Ausführen 1. Also ist rw- gleich 4+2=6, r-- ist 4 und --- ist 0. Dies ergibt den Berechtigungscode 640.
Wenden wir diese Berechtigungen an.
sudo chmod 640 reports/quarterly.txt
Überprüfen Sie abschließend ein letztes Mal die Berechtigungen, um sicherzustellen, dass sie korrekt gesetzt sind.
ls -l reports/quarterly.txt
Die Ausgabe sollte nun die neuen Berechtigungen -rw-r----- widerspiegeln.
-rw-r----- 1 alice developers 20 Aug 5 10:34 reports/quarterly.txt
Sudo für privilegierte Zugriffverwaltung implementieren
In diesem Schritt lernen Sie, wie Sie Benutzern privilegierte Zugriffe mit sudo gewähren. Anstatt vollen Root-Zugriff zu gewähren, ermöglicht sudo eine feingranulare Kontrolle darüber, welche Befehle ein Benutzer mit erhöhten Rechten ausführen darf. Dies ist eine wesentlich sicherere Praxis.
Die Konfiguration für sudo wird in der Datei /etc/sudoers gespeichert. Der sicherste Weg, diese Datei zu bearbeiten, ist die Verwendung des Befehls visudo, der die Datei sperrt und vor dem Speichern auf Syntaxfehler prüft.
Wir gewähren dem Benutzer alice die Berechtigung, den Befehl apt update auszuführen, ohne ein Passwort eingeben zu müssen.
Öffnen Sie die Datei sudoers zur Bearbeitung:
sudo EDITOR=nano visudo
Dies öffnet die Datei in einem Texteditor (wie nano). Scrollen Sie zum Ende der Datei und fügen Sie die folgende Zeile hinzu:
alice ALL=(ALL) NOPASSWD: /usr/bin/apt update
Diese Zeile bedeutet: Der Benutzer alice auf ALL Hosts darf Befehle als ALL Benutzer ((ALL)) ohne Passwort (NOPASSWD:) für den angegebenen Befehl /usr/bin/apt update ausführen.
Nachdem Sie die Zeile hinzugefügt haben, speichern und beenden Sie den Editor. In nano können Sie dies tun, indem Sie Ctrl+O drücken, dann Enter, um den Dateinamen zu bestätigen, und Ctrl+X, um zu beenden.
Testen wir nun die neue Regel. Wir müssen zum Benutzerkonto alice wechseln.
sudo su - alice
Ihre Eingabeaufforderung ändert sich, um anzuzeigen, dass Sie jetzt als alice angemeldet sind. Versuchen Sie nun, den erlaubten Befehl auszuführen.
sudo /usr/bin/apt update
Der Befehl sollte erfolgreich ausgeführt werden, ohne nach einem Passwort zu fragen. Sie sehen, wie die Paketlisten aktualisiert werden.
Als Nächstes versuchen wir, einen Befehl auszuführen, den alice mit sudo nicht ausführen darf, wie z. B. apt upgrade.
sudo /usr/bin/apt upgrade
Dieser Befehl schlägt fehl, und Sie sehen die Meldung [sudo] password for alice:, die darauf hinweist, dass der Benutzer alice diesen Befehl nicht ausführen darf.
[sudo] password for alice:
Drücken Sie Ctrl+C, um den Befehl abzubrechen.
Dies bestätigt, dass unsere sudo-Regel wie erwartet funktioniert. Wechseln Sie nun zurück zu Ihrem ursprünglichen labex-Benutzer.
exit
Sudo-Protokolle für privilegierte Zugriffsaktivitäten überprüfen
In diesem Schritt lernen Sie, wie Sie Systemprotokolle überprüfen, um privilegierte Zugriffe zu überwachen. Die Überprüfung der sudo-Nutzung ist eine kritische Sicherheitspraxis, um zu verfolgen, wer wann Befehle als Root ausführt.
Auf Debian-basierten Systemen wie Ubuntu werden sudo-Befehle in der Datei /var/log/auth.log protokolliert. Diese Datei ist geschützt, daher benötigen Sie sudo, um sie zu lesen.
Wir können den Befehl grep verwenden, um das Protokoll zu filtern und Einträge zu finden, die sich auf die sudo-Befehle beziehen, die vom Benutzer alice im vorherigen Schritt ausgeführt wurden.
Führen Sie den folgenden Befehl aus, um das Autorisierungsprotokoll zu durchsuchen:
sudo grep 'sudo.*alice' /var/log/auth.log
Die Ausgabe zeigt mehrere Zeilen. Sie sollten in der Lage sein, die Protokolle für sowohl die erfolgreichen als auch die fehlgeschlagenen sudo-Versuche zu identifizieren.
Ein erfolgreicher Versuch sieht in etwa so aus und zeigt den ausgeführten Befehl:
... labex-vm sudo: alice : TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt update
Ein fehlgeschlagener Versuch wird ebenfalls protokolliert und zeigt deutlich an, dass der Befehl nicht erlaubt war:
... labex-vm sudo: alice : user NOT allowed to execute /usr/bin/apt upgrade on labex-vm ; TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt upgrade
Die Überprüfung dieser Protokolle ermöglicht es Administratoren, verdächtige Aktivitäten zu überwachen und sicherzustellen, dass privilegierte Befehle ordnungsgemäß verwendet werden.
Zusammenfassung
Herzlichen Glückwunsch zum Abschluss des Labs!
In diesem Lab haben Sie praktische Erfahrungen mit wichtigen Linux-Aufgaben zur Benutzer- und Zugriffsverwaltung gesammelt. Diese Fähigkeiten sind grundlegend für die Aufrechterhaltung eines sicheren und gut organisierten Linux-Systems.
Sie haben gelernt, wie Sie:
- Neue Benutzer und Gruppen mit
useraddundgroupadderstellen. - Dateibesitz mit
chownund Berechtigungen mitchmodändern. - Feingranulare privilegierte Zugriffe mit
sudound dem Befehlvisudoimplementieren. sudo-Aktivitäten durch Überprüfung von Systemprotokollen in/var/log/auth.logauditieren.
Durch die Beherrschung dieser Befehle sind Sie nun besser gerüstet, um Benutzer zu verwalten und sensible Daten auf jedem Linux-Server zu schützen.



