Einführung
In jedem Multi-User-Betriebssystem wie Linux sind Dateiberechtigungen ein kritisches Sicherheitsmerkmal. Sie steuern, wer Dateien lesen, schreiben oder ausführen darf, und stellen sicher, dass Benutzer nur auf die Daten zugreifen können, für die sie autorisiert sind. Das Verständnis, wie diese Berechtigungen verwaltet werden, ist eine grundlegende Fähigkeit für jeden Linux-Benutzer, Entwickler oder Systemadministrator.
In diesem Lab sammeln Sie praktische Erfahrungen mit den wesentlichen Befehlen zur Verwaltung von Dateiberechtigungen. Sie lernen, wie Sie:
- Eine neue Datei mit dem Befehl
toucherstellen. - Dateiberechtigungen mithilfe der numerischen (oktalen) Notation des Befehls
chmodändern. - Den Besitzer und die Gruppe einer Datei mit dem Befehl
chownändern. - Änderungen mit dem Befehl
ls -lüberprüfen. - Standardberechtigungen für ein Verzeichnis festlegen.
Am Ende dieses Labs werden Sie mit den Grundprinzipien der Datei- und Verzeichnisberechtigungen unter Linux vertraut sein.
Testdatei mit dem Befehl touch /tmp/testfile erstellen
In diesem Schritt beginnen Sie mit der Erstellung einer leeren Datei, die wir für den Rest des Labs verwenden werden. Der Standardbefehl zum Erstellen einer leeren Datei unter Linux ist touch. Dieser Befehl erstellt die Datei, falls sie nicht existiert, oder aktualisiert ihren Änderungszeitstempel, falls sie bereits existiert.
Wir werden unsere Testdatei im Verzeichnis /tmp erstellen, welches ein Standardort für temporäre Dateien ist.
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um eine Datei namens testfile zu erstellen:
touch /tmp/testfile
Der Befehl erzeugt bei Erfolg keine Ausgabe. Sie können optional überprüfen, ob die Datei erstellt wurde, indem Sie sie mit ls /tmp/testfile auflisten.
Berechtigungen mit dem Befehl chmod 644 /tmp/testfile setzen
In diesem Schritt lernen Sie, wie Sie die Berechtigungen der gerade erstellten Datei ändern. Der Befehl chmod (change mode) wird für diesen Zweck verwendet. Berechtigungen können entweder mit symbolischer oder numerischer (oktaler) Notation festgelegt werden. Hier verwenden wir die numerische Methode, die sehr verbreitet ist.
In der numerischen Notation werden die Berechtigungen durch eine dreistellige Zahl dargestellt, die jeweils dem Eigentümer (owner), der Gruppe (group) und anderen Benutzern (other users) entspricht. Jede Berechtigung hat einen Wert:
4für Lesen (read, r)2für Schreiben (write, w)1für Ausführen (execute, x)
Wir werden die Berechtigungen auf 644 setzen, was eine sehr übliche Einstellung für Dateien ist. Dies entspricht:
- Eigentümer:
6(4+2) -> Lesen und Schreiben (rw-) - Gruppe:
4-> Nur Lesen (r--) - Andere:
4-> Nur Lesen (r--)
Führen Sie nun den folgenden Befehl aus, um diese Berechtigungen auf Ihre Testdatei anzuwenden:
chmod 644 /tmp/testfile
Dieser Befehl erzeugt keine Ausgabe. In einem späteren Schritt werden wir überprüfen, ob die Berechtigungen korrekt angewendet wurden.
Eigentümer mit dem Befehl chown root:root /tmp/testfile ändern
In diesem Schritt ändern Sie den Eigentümer der Datei. Der Befehl chown (change owner) wird verwendet, um den Benutzer und/oder die Gruppe zu ändern, die eine Datei besitzt. Die Syntax lautet chown benutzer:gruppe dateiname.
Die Änderung des Eigentümers einer Datei auf einen anderen Benutzer (wie root) ist ein privilegierter Vorgang, der Administratorrechte erfordert. Sie müssen den Befehl sudo verwenden, um chown mit den erforderlichen Berechtigungen auszuführen. In dieser LabEx-Umgebung kann der Benutzer labex sudo ohne Passwort verwenden.
Ändern wir nun den Eigentümer und die Gruppe von /tmp/testfile auf root. Führen Sie den folgenden Befehl aus:
sudo chown root:root /tmp/testfile
Auch hier erzeugt ein erfolgreicher Befehl keine Ausgabe. Diese Aktion stellt sicher, dass die Datei nun dem administrativen Benutzer des Systems gehört.
Überprüfung mit dem Befehl ls -l /tmp/testfile
In diesem Schritt überprüfen Sie alle bisher vorgenommenen Änderungen. Der Befehl ls -l liefert eine "lange Auflistung" (long listing), die detaillierte Informationen über Dateien anzeigt, einschließlich Berechtigungen, Eigentümer, Gruppe, Größe und Änderungsdatum.
Führen Sie den folgenden Befehl aus, um /tmp/testfile zu inspizieren:
ls -l /tmp/testfile
Sie sollten eine Ausgabe sehen, die dieser ähnelt (Datum und Uhrzeit variieren):
-rw-r--r-- 1 root root 0 Oct 22 15:13 /tmp/testfile
Lassen Sie uns diese Ausgabe aufschlüsseln:
-rw-r--r--: Dies sind die Dateiberechtigungen. Das erste Zeichen-zeigt an, dass es sich um eine reguläre Datei handelt.rw-zeigt an, dass der Eigentümer (root) Lese- und Schreibberechtigungen hat. Das nächster--zeigt an, dass die Gruppe (root) nur Leseberechtigung hat. Das letzter--zeigt an, dass alle anderen Benutzer ebenfalls nur Leseberechtigung haben. Dies entspricht dem von Ihnen gesetzten644.root root: Dies zeigt den Dateieigentümer und die Gruppe an, die Sie aufrootgeändert haben.
Sie haben nun erfolgreich eine Datei erstellt, ihre Berechtigungen festgelegt und ihren Eigentümer geändert.
Verzeichnis mit dem Befehl chmod 755 /tmp/testdir sichern
In diesem letzten Schritt legen Sie die Berechtigungen für ein Verzeichnis fest. Verzeichnisberechtigungen ähneln Dateiberechtigungen, aber das execute-Bit (x) hat eine besondere Bedeutung: Es gewährt die Möglichkeit, das Verzeichnis zu betreten und auf Dateien darin zuzugreifen.
Eine übliche und sichere Berechtigungseinstellung für Verzeichnisse ist 755. Lassen Sie uns diese aufschlüsseln:
- Eigentümer (Owner):
7(4+2+1) -> lesen, schreiben und ausführen (rwx). Der Eigentümer kann Dateien auflisten, erstellen/löschen und das Verzeichnis betreten. - Gruppe (Group):
5(4+1) -> lesen und ausführen (r-x). Gruppenmitglieder können Dateien auflisten und das Verzeichnis betreten, aber keine Dateien erstellen oder löschen. - Andere (Others):
5(4+1) -> lesen und ausführen (r-x). Andere Benutzer können ebenfalls Dateien auflisten und das Verzeichnis betreten.
Zu Beginn dieses Labs wurde für Sie ein Verzeichnis namens /tmp/testdir erstellt. Wenden Sie nun mit dem Befehl chmod die Berechtigungen 755 darauf an.
chmod 755 /tmp/testdir
Sie können die Änderung mit ls -ld /tmp/testdir überprüfen. Das Flag -d ist wichtig, um die Details des Verzeichnisses selbst aufzulisten, nicht seinen Inhalt.
Zusammenfassung
Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben erfolgreich die grundlegenden Fähigkeiten zur Verwaltung von Datei- und Verzeichnisberechtigungen in einer Linux-Umgebung geübt.
In diesem Lab haben Sie gelernt, wie man:
- Eine leere Datei mit
toucherstellt. chmodmit numerischen (oktalen) Codes wie644für Dateien und755für Verzeichnisse verwendet, um den Zugriff zu steuern.sudo chownverwendet, um den Eigentümer und die Gruppe einer Datei zu ändern.ls -lverwendet, um Datei- und Verzeichnisberechtigungen sowie die Eigentümerschaft zu überprüfen und zu verifizieren.
Diese Befehle sind wesentliche Werkzeuge, um Ihre Dateien zu sichern und ein gut organisiertes System zu pflegen. Ihre Beherrschung ist ein wichtiger Schritt, um versiert im Umgang mit Linux zu werden.



