Hast du dich jemals im verwirrenden Universum der Linux-Berechtigungen verstrickt gefunden? Wenn du dich immer noch fragst, wer lesen, schreiben oder ausführen darf, nun, dann bist du hier genau richtig. Entwirre die komplexe Kunst der Linux-Berechtigungen und konzentriere dich dabei besonders auf das Power-Duo: chmod
und chown
!
In diesem Tutorial wirst du dich mit den Fähigkeiten ausstatten, den Zugriff auf deine Dateien und Verzeichnisse selbstbewusst zu kontrollieren.
Also, krempel die Ärmel hoch und erobere die Linux-Berechtigungen wie ein Champion!
Voraussetzungen
Bevor du dich in diese ausführliche Erkundung der Linux-Berechtigungen stürzt, stelle sicher, dass du eine Linux-Maschine zur Verfügung hast, um die Befehle chmod
und chown
zu beherrschen. Dieses Tutorial verwendet Ubuntu 22.04 LTS (Jammy Jellyfish).
Das Verständnis der Befehle chmod
und chown
Im Reich der Linux-Berechtigungen haben die Befehle chmod
und chown
erhebliche Macht. Zu verstehen, wie man diese Befehle effektiv einsetzt, ist entscheidend für jeden Linux-Benutzer, vom Anfänger bis zum erfahrenen Administrator.
Beide Befehle bieten viele Möglichkeiten zur Steuerung deines Linux-Systems, aber hier sind die Grundlagen dessen, wozu jeder in der Lage ist:
chmod
– Dieser Befehl ist der Schlüssel zur Verwaltung von Datei- und Verzeichnisberechtigungen in Linux. Er ermöglicht es dir, festzulegen, wer eine Datei lesen, schreiben und ausführen darf. Durch die Verwendung einer Kombination von Symbolen und numerischen Codes kannst du den Zugriff für Benutzer, Gruppen und andere gewähren oder einschränken.chown
– Mit diesem Befehl können Sie die Eigentümerschaft von Dateien und Verzeichnissen ändern. Dieser Befehl ist unschätzbar, wenn Sie die administrative Kontrolle übertragen oder die Verbindung zwischen einer Datei und einem Benutzer/Gruppe ändern müssen.
Ob Sie sensible Daten schützen oder den Zugriff für ein Team optimieren, diese Befehle sind Ihre zuverlässigen Begleiter in der Welt der Linux-Dateioperationen.
Lesen Sie weiter und tauchen Sie noch tiefer in die Feinheiten dieser Befehle ein.
Dateien auflisten und Berechtigungen anzeigen
Bevor Sie Berechtigungen und Eigentümerschaft mit den chmod
– und chown
-Befehlen ändern, ist der erste Schritt, Dateien aufzulisten und ihre Berechtigungen anzuzeigen.
Ähnlich wie beim Suchen eines Buchs in einer Bibliothek müssen Sie in Linux oft eine Liste von Dateien zusammen mit ihren zugehörigen Berechtigungen anzeigen. Dieses Wissen ist entscheidend für eine effektive Dateiverwaltung.
Um die Berechtigungen einer Datei oder eines Verzeichnisses anzuzeigen:
Öffnen Sie ein Terminal und führen Sie den folgenden ls
-Befehl aus, um alle Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis im Langformat (-l
) aufzulisten
Das Langformat bietet detaillierte Informationen zu jeder Datei oder jedem Verzeichnis, wie unten gezeigt.
Diese Informationen umfassen Berechtigungen, Anzahl der Links, Eigentümer, Gruppe, Größe und Änderungszeit. Aber Ihr Fokus liegt jetzt auf den Dateiberechtigungen.

Drei Schlüsselberechtigungen regeln jede Datei und jedes Verzeichnis: Lesen (r), Schreiben (w) und Ausführen (x). Jede legt fest, wie Benutzer mit dem Inhalt jeder Datei und jedes Verzeichnisses interagieren.
Zusätzlich werden diese Berechtigungen jeweils auf drei verschiedene Eigentümerkategorien angewendet: Eigentümer, Gruppe und Andere (Benutzer, die weder Eigentümer noch Mitglieder der Gruppe sind).
Folgendes veranschaulicht jeden Teil der Dateiberechtigungen:
- Das erste Zeichen gibt an, ob es sich um eine Datei (–) oder ein Verzeichnis (d) handelt.
- Der erste Teil (rw-) – Gewährt dem Eigentümer Lese- und Schreibberechtigungen, aber keine Ausführung.
- Der zweite Teil (rw-) – Gibt der Gruppe Lese- und Schreibberechtigungen, aber keine Ausführung.
- Der letzte Teil (r–) – Erlaubt Anderen das Lesen, aber nicht das Schreiben oder Ausführen.

Ändern von Berechtigungen über den chmod
-Befehl: Symbolischer Modus
Um Ihr Verständnis für Dateiberechtigungen zu erweitern, tauchen Sie in ein leistungsstarkes Tool zur Änderung von Berechtigungen ein. Stellen Sie sich vor, Sie können genau festlegen, wer auf eine Datei oder ein Verzeichnis zugreifen, es ändern oder ausführen kann. Der chmod
-Befehl (Modus ändern) gibt Ihnen die Kontrolle über Ihr Linux-System.
Wenn Sie eine flexible und ausdrucksstarke Möglichkeit benötigen, den Zugriff auf Ihre Dateien und Verzeichnisse genau zu steuern, wird der symbolische Modus das gewünschte Ergebnis liefern.
Um Berechtigungen mit dem chmod
-Befehl im symbolischen Modus zu ändern, befolgen Sie diese Schritte:
1. Führen Sie den untenstehenden Befehl who
aus, um eine neue Datei (>
) mit dem Namen user.txt
als nicht privilegierter Benutzer zu erstellen, die eine Liste der aktuell angemeldeten Benutzer auf Ihrem Linux-System enthält.
Dieser Befehl gibt keine Ausgabe im Terminal aus, aber Sie werden die Berechtigungen der Datei im nächsten Schritt überprüfen.
2. Führen Sie anschließend den Befehl unten aus, um die Berechtigungen für die user.txt
Datei anzuzeigen.
Unten sehen Sie die Standardberechtigungen der Datei, den Besitzer, den Tag und Monat der Erstellung sowie den Dateinamen.
Machen Sie sich Notizen über die aktuellen Dateiberechtigungen, da Sie später einen Vergleich durchführen werden. Ihr Fokus liegt momentan auf den Benutzerberechtigungen (rw-).

3. Führen Sie nun den folgenden Befehl aus, um die Schreibberechtigung (w
) für den Besitzer (u
) zu entfernen, wobei alle anderen Berechtigungen für andere Kategorien unverändert bleiben.
In der folgenden Tabelle wird erläutert, was jedes Symbol repräsentiert:
User Symbol | Details | Operation Symbol | Details | Permission Symbol | Details |
---|---|---|---|---|---|
u | Owner | + | Add permissions | r | Read |
g | Group | – | Remove permissions | w | Write |
o | Others | = | Set permissions explicitly | x | Execute |
Bei erfolgreicher Ausführung gibt der chmod
-Befehl kein Feedback im Terminal aus, was für dieses Tutorial gilt.
4. Nachdem Sie die Berechtigungen geändert haben, führen Sie den folgenden Befehl aus, um die Berechtigungen der Datei user.txt
anzuzeigen.
Vergleichen Sie die Dateiberechtigungen, die Sie in Schritt zwei notiert haben (rw-), mit den untenstehenden. Beachten Sie, dass der Besitzer (u) jetzt nur noch das Leseberechtigung hat (r–).

5. Führen Sie nun jede der folgenden Befehle aus, um Folgendes durchzuführen:
- Fügen Sie (
+
) Schreib- (w
) und Ausführungsberechtigungen (x
) für den Besitzer (u
) auf derselbenuser.txt
-Datei hinzu. - Überprüfen Sie die geänderten Berechtigungen, indem Sie sich die Informationen zur
user.txt
-Datei anzeigen lassen.
Wie unten gezeigt, hat der Benutzer nun Lese-, Schreib- und Ausführungsberechtigungen (rwx) für die user.txt-Datei.

6. Führen Sie anstelle des Hinzufügens den folgenden chmod
-Befehl aus, um Folgendes zu entfernen (-
):
- Ausführungsberechtigung (
x
) für den Besitzer (u
). - Schreibberechtigung (
w
) für die Gruppe (g
). - Alle Berechtigungen (
rwx
) für Andere (o
).
Dieser Befehl ermöglicht es Ihnen, Berechtigungen aus verschiedenen Kategorien gleichzeitig mit einem einzigen Befehl zu entfernen.
Dieses Mal teilt die Option -v
chmod
mit, eine Nachricht über die Änderungen anzuzeigen, die durch den Vorgang vorgenommen wurden.

7. Führen Sie als Nächstes den folgenden Befehl aus, um die folgenden Operationen durchzuführen:
- Fügen Sie allen Kategorien (
a
) Leseberechtigungen (r
) hinzu. - Entfernen Sie Schreib- und Ausführungsberechtigungen (
wx
) für alle (a
) Kategorien.
8. Führen Sie nun den unten stehenden Befehl aus, um die aktualisierten Berechtigungen der user.txt
-Datei anzuzeigen.

? Alternativ können Sie dieselbe Berechtigung für alle drei Kategorien (Benutzer, Gruppe und Andere) mit den folgenden Befehlen ändern:
chmod ugo-r
– Entfernt (-
) Leseberechtigungen (r
) für alle drei Kategorien (ugo
).
chmod ugo+r
– Fügt (+
) Leseberechtigungen (r
) für alle drei Kategorien (ugo
) hinzu.
9. Führen Sie abschließend die folgenden Befehle aus, um Folgendes auszuführen:
chmod
– Setzt (=
) Lese- und Schreibberechtigungen (rw
) für den Eigentümer und die Gruppe und entfernt die Berechtigungen für andere (o=
).
Das Symbol=
ermöglicht es Ihnen, Berechtigungen explizit festzulegen und vorhandene Berechtigungen zu überschreiben. Wenn nach dem Symbol=
keine Berechtigungen angegeben sind, werden alle Berechtigungen für diese Kategorie entfernt.ls
– Zeigen Sie die Änderungen an, die Sie an den Berechtigungen der Dateiuser.txt
vorgenommen haben.

Anpassen der Zugriffsrechte mit dem Befehl chmod
: Oktalmodus
Stellen Sie sich vor, Sie haben die Möglichkeit, die Berechtigungen für Ihre Dateien schnell und präzise zu setzen, ohne die Komplexitäten der symbolischen Notation. Der Oktalmodus (Basis-Acht-Notation) wird Ihre neue bevorzugte Methode zur Verwaltung von Berechtigungen.
Im Oktalmodus (Basis-Acht-Notation) werden Berechtigungen mit einer vier- oder dreistelligen Zahl von 0 bis 7 dargestellt. Jede Zahl entspricht einem bestimmten Satz von Berechtigungen für den Eigentümer, die Gruppe und andere, wie folgt:
- Lesen (r) = 4
- Schreiben (w) = 2
- Ausführen (x) = 1
- Keine Berechtigungen (-) = 0
Um zu sehen, wie der Oktalmodus die Dateiberechtigungen verwaltet, führen Sie diese Schritte aus:
1. Führen Sie den untenstehenden chmod
-Befehl aus, um die folgenden Berechtigungen (664
) für die Datei user.txt
hinzuzufügen:
- Eigentümer – lesen (
4
) + schreiben (2
) + ausführen (0
) =6
- Gruppe – lesen (
4
) + schreiben (2
) + ausführen (0
) =6
- Andere – lesen (
4
) + schreiben (0
) + ausführen (0
)=4
Wenn Sie eine vierstellige Zahl mit dem chmod
-Befehl für Dateiberechtigungen in Linux verwenden, stellt die führende Ziffer (ganz links) spezielle Berechtigungen dar, wie setuid, setgid und Sticky-Bit. Die nächsten drei Ziffern repräsentieren die Standardberechtigungen für den Eigentümer, die Gruppe und andere, jeweils.
Aber wenn Sie eine dreistellige Zahl verwenden, repräsentiert die erste Ziffer die Berechtigungen des Dateieigentümers (u
), die zweite für die Dateigruppe (g
), und die letzte für andere (o
).
In vielen Fällen, besonders wenn es nicht um spezielle Berechtigungen geht, sehen Sie möglicherweise nur die dreistellige Notation. Die führende Null, die die Oktalnotation anzeigt, kann impliziert und somit weggelassen werden. Wie im Beispiel unten, statt 0664
, verwenden Sie 664
.
2. Führen Sie anschließend den untenstehenden Befehl aus, um die Berechtigungen für die Datei user.txt
anzuzeigen.
Im untenstehenden Ausgabe können Sie sehen, dass die gesetzten Berechtigungen für die Datei user.txt im symbolischen Modus sind, was äquivalent zu 664 im Oktalmodus ist.

3. Führen Sie nun den stat
-Befehl unten aus, um eine umfassende Reihe von Statistiken über die Datei user.txt
anzuzeigen, einschließlich der Berechtigungen im symbolischen und oktalen Modus.
Unter der Zugriffseigenschaft, wie unten dargestellt, sehen Sie den oktalen und symbolischen Modus, der mit den Dateiberechtigungen der user.txt-Datei verbunden ist.
Mit diesen Informationen verbessern Sie Ihr Verständnis für die Anpassung von Berechtigungen mithilfe des oktalen Modus.

Ändern der Dateibesitzrechte mit dem chown
-Befehl
Während Berechtigungen festlegen, welche Aktionen auf einer Datei oder einem Verzeichnis durchgeführt werden können, können Sie festlegen, wer das Recht hat, diese Berechtigungen festzulegen oder zu ändern, indem Sie den Besitz ändern.
Der chown
-Befehl (Besitzer ändern) ist der Hauptbefehl zur Verwaltung von Datei- und Verzeichnisbesitz. Wie der chmod
-Befehl ist auch der chown
-Befehl ein Root-Befehl – nur der Root-Benutzer kann den Besitz einer Datei oder eines Verzeichnisses ändern.
Um den Besitz mit dem chown
-Befehl zu verwalten, gehen Sie wie folgt vor:
1. Führen Sie die unten stehenden Befehle aus, um einen Benutzer (useradd
) mit dem Namen bill
zu erstellen und ein starkes Passwort bereitzustellen.
Sie müssen mehr als einen Benutzer auf Ihrer lokalen Maschine haben, zusätzlich zum Standardbenutzer, der Sie sind, um zu sehen, wie die Änderung des Besitzes funktioniert.

2. Führen Sie als nicht privilegierter Benutzer jeden der folgenden Befehle aus, um eine Liste der derzeit angemeldeten Benutzer (who
) in eine Datei namens new.txt
zu schreiben, und anzeigen Sie (ls
) deren Besitzer und Berechtigungen.
Unten zeigt die Ausgabe, dass der Dateibesitzer mercy ist.

3. Nachdem der Besitzer überprüft wurde, führen Sie den folgenden chown
-Befehl aus, um den Besitzer der Datei new.txt
in bill
zu ändern.
Wie der chmod
-Befehl liefert auch der chown
-Befehl keine Ausgabe, aber Sie überprüfen die Besitzeränderung im nächsten Schritt.
4. Führen Sie nun den folgenden Befehl aus, um (ls
) den neuen Besitzer der Datei new.txt
anzuzeigen.
Die Ausgabe bestätigt, dass Sie den Besitzer der Datei new.txt erfolgreich in bill geändert haben, der nun die Kontrolle und Autorität über diese Datei hat.

Durchsetzen des chown
-Befehls zur Änderung der Gruppenzugehörigkeit
Im Linux-Dateisystem ist jede Datei und jedes Verzeichnis nicht nur mit einem einzelnen Besitzer, sondern auch mit einer Gruppe verbunden. Genau wie ein einzelnes verstimmes Instrument das gesamte Ensemble stören kann, kann eine falsche Zuordnung zu potenziellen Problemen führen.
Sollten Sie besorgt sein? Eigentlich nicht. Die Gruppenzuordnung ermöglicht einen gestuften Ansatz für Dateiberechtigungen. Dieser Ansatz ermöglicht es mehreren Benutzern, basierend auf der Gruppenmitgliedschaft zusammenzuarbeiten und Zugriff zu teilen.
Um die Gruppenzugehörigkeit zu ändern, führen Sie bitte die folgenden Schritte aus:
1. Führen Sie den folgenden Befehl aus, um die Gruppe im Zusammenhang mit der Datei new.txt
anzuzeigen.

2. Führen Sie anschließend die unten stehenden Befehle aus, die keine Ausgabe liefern, sondern folgendes bewirken:
- Erstellen Sie eine Gruppe (
groupadd
) namensdevelopers
. - Ändern Sie die Gruppenzugehörigkeit der Datei
new.txt
indevelopers
(chown
).
? Alternativ können Sie anstelle eines individuellen Ansatzes die folgenden Befehle verwenden, um den Besitzer und die Gruppenzugehörigkeit einer Datei oder eines gesamten Verzeichnisses rekursiv zu ändern.
sudo chown -R john:finance-group user.txt
sudo chown -R john:finance-group ~/Desktop
3. Führen Sie nun den folgenden Befehl erneut aus, um die neue Gruppenzugehörigkeit der Datei (ls
) new.txt
anzuzeigen.
Unten bestätigt die Ausgabe, dass Sie die Gruppenzugehörigkeit der Datei new.txt erfolgreich zu developers geändert haben.

Ändern der Dateibesitzverhältnisse über numerische UID und GID
Während Benutzernamen und Gruppennamen eine menschenlesbare Möglichkeit bieten, Dateibesitzer zu identifizieren, sind jedem Benutzer und jeder Gruppe auch eindeutige numerische Identifikatoren zugeordnet.
Diese eindeutigen numerischen Identifikatoren sind die Benutzer-ID (UID) und die Gruppen-ID (GID). Sie bieten eine eindeutige Möglichkeit, Dateibesitz in Umgebungen mit überlappenden oder ähnlichen Benutzer- und Gruppennamen festzulegen.
Um die Besitzverhältnisse unter Verwendung numerischer UIDs und GIDs zu ändern, führen Sie die folgenden Schritte aus:
1. Führen Sie den folgenden Befehl aus, um Informationen (ls
) über die Datei new.txt
aufzulisten.
Die Option -n
teilt dem Befehl ls
mit, numerische UID und GID anzuzeigen, anstatt sie in ihre entsprechenden Benutzer- und Gruppennamen aufzulösen.
Beachten Sie die UID und GID, die mit der Datei new.txt
verbunden sind, da Sie sie für Vergleiche im nächsten Schritt benötigen werden.

2. Führen Sie anschließend die folgenden getent
-Befehle aus, um die UID und GID des Benutzers und der Gruppe zu erhalten, die Sie für die Besitzrechte Ihrer Datei festlegen möchten.
Stellen Sie sicher, dass Sie die Platzhalter <Benutzername>
und <Gruppenname>
durch Ihren bevorzugten Benutzernamen und Gruppennamen ersetzen.
Notieren Sie sich die UID (z. B. 1002) und GID (z. B. 1005) in der folgenden Ausgabe, da Sie sie im nächsten Schritt zum Ändern des Besitzes benötigen werden.
Standardmäßig wird beim Erstellen eines Benutzers in Linux auch eine Gruppe mit demselben Namen wie der Benutzer erstellt. Diese Gruppe dient als primäre Gruppe des Benutzers und wird automatisch zu dieser primären Gruppe hinzugefügt.
Daher unterscheidet sich die GID für den Benutzer john
von der GID der Gruppe finance
. Sofern der Benutzer nicht ausdrücklich zur Gruppe hinzugefügt wird, bleiben ihre jeweiligen GIDs unterschiedlich.

3. Führen Sie als Nächstes den folgenden Befehl aus, um den Besitz und die Gruppenzugehörigkeit der Datei new.txt
zu ändern. Stellen Sie sicher, dass Sie 1002
und 1005
durch diejenigen ersetzen, die Sie im zweiten Schritt notiert haben.
? Beachten Sie, dass die Verwendung von numerischen UIDs und GIDs weniger lesbar sein kann als Benutzernamen und Gruppennamen. Stellen Sie daher sicher, dass Sie die richtigen Zahlen verwenden, um unbeabsichtigte Änderungen zu vermeiden.
4. Führen Sie abschließend den folgenden Befehl erneut aus, um Informationen (ls
) über die Datei new.txt
aufzulisten und die Änderungen im Besitz der Datei zu überprüfen.
Vergleichen Sie die UID und GID, die Sie in Schritt eins notiert haben, mit den folgenden. Beachten Sie, dass der neue Dateibesitz von 1001:1003 auf 1002:1005 geändert wurde.

Schlussfolgerung
Sie haben gerade eine umfassende Erkundung der Linux-Berechtigungen begonnen und die Beherrschung wichtiger Befehle wie chmod
und chown
erlangt. Im Laufe dieses Tutorials sind Sie darin geschult worden, Berechtigungen mithilfe von symbolischen und oktalen Modi zu ändern.
Sie haben auch die Fähigkeiten erworben, Dateibesitz und Gruppenzuweisungen zu verwalten, sei es nach Namen oder durch numerische UID und GID. Mit diesem neu gewonnenen Fachwissen in chmod
und chown
haben Sie nun mächtige Werkzeuge zur Verfügung, um den Zugriff und den Besitz in Ihrem Linux-System zu regeln.
Aber warum stärken Sie nicht noch weiter Ihre Linux-Kenntnisse? Vielleicht sollten Sie sich mit fortgeschrittenen Zugriffskontrollmethoden wie Zugriffssteuerungslisten (ACLs) befassen? Streben Sie eine noch präzisere Steuerung der Datei- und Verzeichnisberechtigungen an!