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 

Inhalt:

Linux: chmod – Zugriffsrechte erklärt

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

  • ls -l
Bilderstrecke starten(13 Bilder)
Timeshift-Backup erstellen (Anleitung)
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. Bild: GIGA

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

Kürzel Zugriff Erklärung
r lesbar Die Datei lässt sich öffnen/anschauen, aber nicht ändern.
w schreibbar Die Datei lässt sich ändern und wieder speichern.
x ausführbar Die 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“. Bild: GIGA
Kategorie Erklärung
Besitzer Lese-, Schreib- und Ausführen-Berechtigungen für den Benutzer, dem die Datei gehört.
Gruppe Lese-, 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.)
Andere Lese-, 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. Bild: 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. Bild: GIGA

Linux: chmod – Zugriffsrechte ändern

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:

Besitzer Gruppe Andere
r w x r w x r w x
4 2 1 4 2 1 4 2 1
= 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