Linux ordnet jeder Datei und jedem Verzeichnis bestimmte Zugriffsrechte zu. Darunter versteht man, wer alles eine Datei lesen, schreiben und ausführen darf. Mit dem Terminal-Befehl „chmod“ lassen sich die Zugriffsrechte von Dateien und Verzeichnissen unter Linux ändern. Wie das geht, zeigen wir euch hier auf GIGA.

 
Linux Mint
Facts 

Linux: Was sind Zugriffsrechte? (rwx)

Die derzeitigen Zugriffsrechte einer Datei seht ihr mit dem Terminal-Befehl:

  • ls -l
Das Linux-Terminal zeigt die Zugriffsrechte der Dateien und Verzeichnisse vorne in der Zeile an. Bild: GIGA
Das Linux-Terminal zeigt die Zugriffsrechte der Dateien und Verzeichnisse vorne in der Zeile an. (Bildquelle: GIGA)

Dateien (und Verzeichnisse) können in Linux „lesbar“, „schreibbar“ und „ausführbar“ sein (Readable = r, Writable = w, Executable = x).

KürzelZugriffErklärung
rlesbarDie Datei lässt sich öffnen/anschauen, aber nicht ändern.
wschreibbarDie Datei lässt sich ändern und wieder speichern.
xausführbarDie Datei lässt sich als Programm ausführen (ähnlich wie EXE-Dateien unter Windows).
Besonderheit bei Verzeichnissen: Verzeichnisse lassen sich nur öffnen, wenn sie als ausführbar (x) deklariert sind.

Diese Zugriffsrechte merkt sich Linux pro Datei für die drei Kategorien: „Besitzer“, „Gruppe“ und „Andere“.

Jede Datei hat – unterteilt in die Kategorien „Besitzer“ „Gruppe“ und „Andere“ – die Zugriffsrechte „r“, „w“ und „x“. Bild: GIGA
Jede Datei hat – unterteilt in die Kategorien „Besitzer“ „Gruppe“ und „Andere“ – die Zugriffsrechte „r“, „w“ und „x“. (Bildquelle: GIGA)
KategorieErklärung
BesitzerLese-, Schreib- und Ausführen-Berechtigungen für den Benutzer, dem die Datei gehört.
GruppeLese-, Schreib- und Ausführen-Berechtigungen für die Mitglieder einer Gruppe, denen die Datei gehört. (Eine Gruppe ist eine Sammlung bestimmter Benutzern unter Linux. Mitglieder einer Gruppe können gemeinsam Zugriff auf eine Datei haben.)
AndereLese-, Schreib- und Ausführen-Berechtigungen für alle anderen Benutzer, die Zugriff auf das Linux-System haben.

Mit dem chmod-Befehl könnt ihr die Zugriffsrechte einer Datei also für deren „Besitzer“, deren „Gruppe“ und deren „Andere“ jeweils einzeln bestimmen. Die Information, welche Berechtigungen eine Datei hat oder erhalten soll, lässt sich sehr einfach mit folgenden Zahlen darstellen:

Mit diesem Schema berechnet man den nötigen chmod-Befehl für die Berechtigungen ganz einfach. Bild: GIGA
Mit diesem Schema berechnet man den nötigen chmod-Befehl für die Berechtigungen ganz einfach. (Bildquelle: GIGA)

Addiert einfach die Zahlen innerhalb einer Kategorie, um auf die gewünschte Zahl zu kommen. Diese lassen sich dann aneinandergereiht mit dem chmod-Befehl nutzen, um Zugriffsberechtigungen pro Datei mit einem einzigen Befehl korrekt festzulegen.

Beispiel:

  • Die Datei soll für den Besitzer lesbar, schreibbar und ausführbar sein (4 + 2 + 1 = 7).
  • Die Datei soll für die Gruppe nur lesbar und schreibbar sein (4 + 2 = 6).
  • Die Datei soll für alle anderen Benutzer weder lesbar, noch schreibbar noch ausführbar sein (0 + 0 + 0 = 0).

Zugehöriger Befehl:

  • sudo chmod 760 Testdatei.txt
Mit einem chmod-Befehl lassen sich alle Berechtigungen einer Datei gleichzeitig ändern. Bild: GIGA
Mit einem chmod-Befehl lassen sich alle Berechtigungen einer Datei gleichzeitig ändern. (Bildquelle: GIGA)

Linux-Zugriffsrechte ändern mit „chmod“

Um Zugriffsrechte (auch: „Dateiattribute“) von Dateien und Ordnern unter Linux per chmod-Befehl (Abkürzung für: „Change Mode“) ändern zu können, müsst ihr der Besitzer der Datei sein oder über Root-Rechte verfügen.

Zugriffsrechte anzeigen

Der Terminal-Befehl

  • ls -l

zeigt Dateien und Verzeichnisse mit ihren Zugriffsberechtigungen an.

Datei ausführbar machen (chmod +x)

Standardmäßig erlaubt es Linux nicht, Skripte oder Dateien als Programm auszuführen. Mit dem Terminal-Befehl „chmod“ kann man das Ausführen der Datei „Testdatei.sh“als Programm wie folgt erlauben.

  • chmod +x Testdatei.sh

Falls das nicht funktioniert, sind vermutlich Root-Rechte nötig:

  • sudo chmod +x Testdatei.sh

Berechtigung „Datei ausführen“ entziehen (chmod -x)

  • chmod -x Testdatei.sh
  • sudo chmod -x Testdatei.sh

Gezielt Berechtigung setzen (chmod 755 ...)

Lest die Tabelle spaltenweise von oben nach unten, um die zugehörige Zahl für die jeweiligen Zugriffsrechte auszurechnen:

BesitzerGruppeAndere
rwxrwxrwx
421421421
= 7 (Alle)= 7 (Alle)= 7 (Alle)

Beispiel:

  • Besitzer: r + w + x (4 + 2 + 1 = 7)
  • Gruppe: x (= 1)
  • Andere r (= 4)

Zugehöriger Befehl:

  • sudo chmod 714 Testdatei.txt
Für alle Windows-Nutzer, die einen Linus-Server gemietet haben oder nutzen: In zugehörigen FTP-Programmen könnt ihr die Zugriffsberechtigungen auf eure Dateien und Ordner in der Regel einstellen.

Besitzer einer Datei ändern

Der Linux-Benutzer „hans“ soll der Besitzer der Datei „Testdatei.txt“ sein:

  • sudo chown hans Testdatei.txt