Verwalten von Datei- und Verzeichnisberechtigungen unter Linux

CompTIABeginner
Jetzt üben

Einführung

In diesem Lab erlernen Sie die grundlegenden Fähigkeiten zur Verwaltung von Datei- und Verzeichnisberechtigungen in einer Linux-Umgebung. Zu Beginn richten Sie einen dedizierten Arbeitsbereich ein, indem Sie ein neues Verzeichnis und eine Beispieldatei erstellen, die als Grundlage für die Übungen dienen. Dieser praxisorientierte Ansatz ermöglicht es Ihnen, die Zugriffskontrolle auf Daten mit den wichtigsten Kommandozeilenwerkzeugen zu trainieren.

Im Verlauf des Labs verwenden Sie den Befehl chown, um den Dateieigentümer zu ändern, und den Befehl chmod, um Lese-, Schreib- und Ausführungsrechte für verschiedene Benutzer und Gruppen anzupassen. Sie wenden diese Konzepte zunächst auf eine einzelne Datei an und lernen anschließend, wie sich diese Berechtigungen spezifisch auf den Zugriff auf Verzeichnisse auswirken. Am Ende werden Sie in der Lage sein, Dateien effektiv abzusichern und Benutzerzugriffe auf einem Linux-System professionell zu verwalten.

Arbeitsbereich vorbereiten und Datei erstellen

In diesem Schritt richten Sie zunächst einen dedizierten Arbeitsbereich für dieses Lab ein. Das Organisieren von Dateien in spezifischen Verzeichnissen ist eine grundlegende Praxis unter Linux, um ein sauberes und übersichtliches Dateisystem zu gewährleisten. Sie erstellen ein Verzeichnis und darin eine neue Datei, die in den folgenden Schritten als Objekt für die Übungen zur Berechtigungsverwaltung dient.

Erstellen Sie zuerst ein neues Verzeichnis namens RandD (für Research and Design) in Ihrem aktuellen Arbeitsverzeichnis ~/project. Der Befehl mkdir wird zum Erstellen neuer Verzeichnisse verwendet.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

mkdir RandD

Wechseln Sie anschließend in das neu erstellte Verzeichnis RandD. Der Befehl cd (change directory) ermöglicht es Ihnen, zwischen Verzeichnissen im Dateisystem zu navigieren.

cd RandD

Ihre Terminal-Eingabeaufforderung sollte nun anzeigen, dass Sie sich im Verzeichnis ~/project/RandD befinden.

Erstellen Sie nun eine leere Datei, die ein Designdokument repräsentiert. Der Befehl touch ist ein einfacher Weg, um eine neue, leere Datei zu erzeugen. Falls die Datei bereits existiert, aktualisiert touch deren Zeitstempel, ohne den Inhalt zu ändern.

Erstellen Sie eine neue Datei namens design_doc.odt:

touch design_doc.odt

Um zu bestätigen, dass die Datei erstellt wurde, und um ihre Standardeigenschaften zu inspizieren, verwenden Sie den Befehl ls -l. Dieser Befehl listet den Inhalt des aktuellen Verzeichnisses im Langformat auf und liefert detaillierte Informationen wie Berechtigungen, Eigentümer, Gruppe, Größe und Änderungsdatum.

ls -l

Sie sollten eine Ausgabe ähnlich der folgenden sehen. Beachten Sie, dass die neue Datei standardmäßig Ihrem Benutzerkonto (labex) und Ihrer Primärgruppe (labex) gehört. Die Berechtigungszeichenfolge -rw-rw-r-- wird in den kommenden Schritten im Detail erklärt.

total 0
-rw-rw-r-- 1 labex labex 0 Jun 26 10:36 design_doc.odt

Sie haben nun den Arbeitsbereich erfolgreich vorbereitet und die Zieldatei für dieses Lab erstellt. In den nächsten Schritten lernen Sie, wie Sie deren Eigentumsverhältnisse und Berechtigungen ändern.

Dateieigentümer mit dem Befehl chown ändern

In diesem Schritt lernen Sie, wie Sie den Eigentümer einer Datei ändern. In Linux ist jeder Datei und jedem Verzeichnis ein Eigentümer (ein spezifischer Benutzer) und eine Gruppe zugewiesen. Diese Eigentumsstruktur ist ein Eckpfeiler des Linux-Sicherheitsmodells, da sie mitbestimmt, wer das Recht hat, Dateien zu lesen, zu schreiben und auszuführen. Der Befehl zum Ändern des Eigentümers lautet chown.

Unser Szenario erfordert, dass die Datei design_doc.odt von einem neuen Benutzer student1 und einer neuen Projektgruppe research verwaltet wird. Da dieser Benutzer und diese Gruppe noch nicht existieren, müssen Sie diese zuerst anlegen.

Stellen Sie sicher, dass Sie sich noch im Verzeichnis ~/project/RandD befinden. Falls nicht, nutzen Sie den Befehl cd ~/project/RandD, um dorthin zu navigieren.

Erstellen Sie zuerst die Gruppe research mit dem Befehl groupadd. Dies ist eine Operation auf Systemebene, die administrative Privilegien erfordert, weshalb Sie sudo verwenden müssen.

sudo groupadd research

Erstellen Sie als Nächstes den Benutzer student1 mit dem Befehl useradd. Die Option -m wird verwendet, um ein Heimatverzeichnis für den neuen Benutzer zu erstellen, was der Standardpraxis entspricht. Auch dies erfordert sudo.

sudo useradd -m student1

Nachdem der Benutzer student1 und die Gruppe research existieren, können Sie den Eigentümer der Datei design_doc.odt ändern. Die Syntax für chown lautet chown benutzer:gruppe dateiname. Sie benötigen sudo, um diesen Befehl auszuführen, da Sie die Datei einem anderen Benutzer zuweisen.

sudo chown student1:research design_doc.odt

Um zu überprüfen, ob die Eigentumsrechte aktualisiert wurden, verwenden Sie erneut den Befehl ls -l.

ls -l

Die Ausgabe zeigt nun student1 als Benutzereigentümer und research als Gruppeneigentümer an.

total 0
-rw-rw-r-- 1 student1 research 0 Jun 26 10:36 design_doc.odt

Vergleichen Sie dies mit der vorherigen Ausgabe. Die dritte und vierte Spalte haben sich von labex labex zu student1 research geändert, was bestätigt, dass Ihr Befehl erfolgreich war. Sie haben damit die Verantwortung für das Designdokument übertragen.

Dateiberechtigungen mit dem Befehl chmod anpassen

In diesem Schritt lernen Sie, wie Sie mit dem Befehl chmod (change mode) steuern, wer eine Datei lesen, beschreiben oder ausführen darf. Dateiberechtigungen sind ein wesentlicher Aspekt des Linux-Sicherheitsmodells. Sie werden üben, Berechtigungen für "Andere" zu entfernen, um das Dokument sicherer zu machen.

Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis ~/project/RandD befinden. Lassen Sie uns die aktuellen Berechtigungen von design_doc.odt mit ls -l erneut prüfen.

ls -l
-rw-rw-r-- 1 student1 research 0 Jun 26 10:36 design_doc.odt

Die Zeichenfolge -rw-rw-r-- repräsentiert die Berechtigungen der Datei. Sie ist in drei Sätze zu je drei Zeichen unterteilt: für den Benutzer (Eigentümer), die Gruppe und Andere (alle übrigen).

  • rw-: Der Eigentümer student1 hat Lese- (read) und Schreibrechte (write).
  • rw-: Die Gruppe research hat ebenfalls bereits Lese- und Schreibrechte.
  • r--: Andere haben lediglich Leserechte.

Wie Sie sehen können, hat die Gruppe research bereits Schreibzugriff auf dieses Dokument, was die Zusammenarbeit ermöglicht. Um jedoch sicherzustellen, dass das Dokument vertraulich bleibt, sollten Sie alle Berechtigungen für "Andere" entfernen. Dies erreichen Sie mit chmod unter Verwendung der oktalen (numerischen) Notation, einer gängigen und effizienten Methode.

Lassen Sie uns die aktuellen Berechtigungen noch einmal verifizieren:

ls -l

Die Ausgabe bestätigt den aktuellen Stand:

-rw-rw-r-- 1 student1 research 0 Jun 26 10:36 design_doc.odt

Um nun die Vertraulichkeit zu gewährleisten, entziehen wir "Anderen" jeglichen Zugriff. So funktioniert die oktale Notation:

  • r (lesen) = 4
  • w (schreiben) = 2
  • x (ausführen) = 1

Sie addieren die Zahlen für die gewünschten Berechtigungen pro Kategorie (Benutzer, Gruppe, Andere).

  • Benutzer: lesen (4) + schreiben (2) = 6
  • Gruppe: lesen (4) + schreiben (2) = 6
  • Andere: keine Berechtigungen = 0

Der resultierende Berechtigungscode lautet 660. Wenden wir ihn an:

sudo chmod 660 design_doc.odt

Überprüfen Sie die Berechtigungen ein letztes Mal.

ls -l

Die Ausgabe bestätigt, dass "Andere" nun keine Berechtigungen mehr haben (---), wodurch das Dokument gesichert ist.

-rw-rw---- 1 student1 research 0 Jun 26 10:36 design_doc.odt

Sie haben die Dateiberechtigungen erfolgreich so angepasst, dass die Zusammenarbeit in der Gruppe möglich ist, während der Zugriff für Unbefugte gesperrt wurde.

Verzeichniszugriffsberechtigungen steuern

In diesem letzten Schritt sichern Sie das gesamte Verzeichnis RandD ab. Genau wie Dateien verfügen auch Verzeichnisse über Berechtigungen, die den Zugriff steuern. Die Bedeutung von Lese-, Schreib- und Ausführungsrechten unterscheidet sich jedoch bei Verzeichnissen:

  • r (lesen): Erlaubt einem Benutzer, den Inhalt des Verzeichnisses aufzulisten (d. h. die Namen der darin enthaltenen Dateien und Unterverzeichnisse zu sehen).
  • w (schreiben): Erlaubt einem Benutzer, Dateien innerhalb des Verzeichnisses zu erstellen, zu löschen und umzubenennen. Diese Berechtigung ist sehr weitreichend, da sie Änderungen am Verzeichnisinhalt ermöglicht, unabhängig von den Berechtigungen der einzelnen Dateien selbst.
  • x (ausführen): Erlaubt einem Benutzer, das Verzeichnis zu betreten (z. B. mit cd) und auf darin befindliche Dateien oder Unterverzeichnisse zuzugreifen. Ohne das Ausführungsrecht können Sie auf keine Elemente im Verzeichnis zugreifen, selbst wenn Sie Leserechte besitzen.

Navigieren Sie zunächst eine Ebene nach oben in das Verzeichnis ~/project, damit Sie das Verzeichnis RandD selbst bearbeiten können.

cd ..

Lassen Sie uns nun die aktuellen Eigentumsverhältnisse und Berechtigungen des Verzeichnisses RandD mit dem Befehl ls -ld untersuchen. Die Option -d ist hier entscheidend; sie weist ls an, Informationen über das Verzeichnis selbst anzuzeigen, nicht über dessen Inhalt.

ls -ld RandD

Die ursprüngliche Ausgabe wird etwa so aussehen:

drwxrwxr-x 2 labex labex 28 Jun 26 10:36 RandD

Dies zeigt, dass der Eigentümer (labex) vollen Zugriff hat (rwx), die Gruppe (labex) ebenfalls vollen Zugriff hat (rwx) und Andere das Verzeichnis nur lesen und betreten können (r-x). Um daraus einen ordnungsgemäßen Kollaborationsordner für das research-Team zu machen, sollten Sie zuerst die Gruppenzugehörigkeit des Verzeichnisses auf research ändern.

sudo chown :research RandD

Als Nächstes setzen Sie die Berechtigungen so, dass sowohl der Eigentümer (labex) als auch die Gruppe (research) die volle Kontrolle haben, während der Zugriff für Andere komplett entfernt wird. Die gewünschte Berechtigung ist rwxrwx---, was dem Oktalcode 770 entspricht. Da Sie der Eigentümer des Verzeichnisses sind, können Sie dessen Berechtigungen ohne sudo ändern.

chmod 770 RandD

Lassen Sie uns abschließend die Änderungen überprüfen.

ls -ld RandD

Die Ausgabe sollte nun die neuen Eigentumsverhältnisse und Berechtigungen widerspiegeln und das Verzeichnis für Ihr Team absichern.

drwxrwx--- 2 labex research 28 Jun 26 10:36 RandD

Sowohl der Benutzer labex als auch alle Mitglieder der Gruppe research haben nun volle Lese-, Schreib- und Ausführungsrechte für das Verzeichnis RandD, während alle anderen Benutzer keinen Zugriff mehr haben. Sie haben erfolgreich einen sicheren Bereich für die Zusammenarbeit konfiguriert.

Zusammenfassung

In diesem Lab haben Sie die grundlegenden Schritte zur Vorbereitung eines Arbeitsbereichs in einer Linux-Umgebung kennengelernt. Dazu gehörte das Erstellen eines neuen Verzeichnisses mit dem Befehl mkdir, das Navigieren darin mit cd und das Erzeugen einer leeren Datei mit touch. Sie haben zudem geübt, den Befehl ls -l zu nutzen, um die detaillierten Eigenschaften der neu erstellten Datei zu inspizieren und deren Standardeinstellungen für Eigentümer, Gruppe und Berechtigungen zu beobachten, was die Basis für die folgenden Verwaltungsaufgaben bildete.

Auf diesem Fundament aufbauend haben Sie die Kernkonzepte der Linux-Dateisystemsicherheit erkundet. Das Lab demonstrierte, wie man den Eigentümer einer Datei mit dem Befehl chown ändert und so die Kontrolle auf einen anderen Benutzer oder eine andere Gruppe überträgt. Anschließend lernten Sie, die Lese-, Schreib- und Ausführungsrechte für den Eigentümer, die Gruppe und Andere mit dem Befehl chmod anzupassen. Schließlich behandelte das Lab, wie diese Berechtigungskonzepte speziell auf Verzeichnisse angewendet werden, um den Zugriff auf die darin enthaltenen Dateien präzise zu steuern.