Berechtigungen unter Linux verstehen: chmod und chown

Wer darf was mit einer Datei? Lerne, wie das Berechtigungssystem von Linux funktioniert und wie du mit chmod und chown Zugriffsrechte steuerst.

Teilen
Berechtigungen unter Linux verstehen: chmod und chown

Linux ist ein Mehrbenutzersystem, und deshalb ist es entscheidend zu regeln, wer welche Datei lesen, ändern oder ausführen darf. Das Berechtigungssystem wirkt anfangs etwas kryptisch, folgt aber einer klaren Logik. In diesem Beitrag lernst du, die Rechte zu lesen und mit chmod und chown selbst anzupassen.

Berechtigungen lesen

Wenn du ls -l ausführst, siehst du am Anfang jeder Zeile eine Folge von Buchstaben und Strichen. Das ist die Rechte-Anzeige. Sie beschreibt, wer was mit der Datei tun darf.

# Detaillierte Liste mit Berechtigungen anzeigen
ls -l

# Beispielausgabe:
# -rwxr-xr--  1 anna team  1024 Jun 19 datei.sh

Der erste Block -rwxr-xr-- teilt sich in vier Teile: Das erste Zeichen zeigt den Typ (- für Datei, d für Ordner). Danach folgen drei Dreiergruppen für Besitzer, Gruppe und alle anderen.

Die drei Rechtetypen

Es gibt drei grundlegende Rechte, die jeweils durch einen Buchstaben dargestellt werden. Sie bedeuten je nach Datei oder Ordner etwas leicht Unterschiedliches.

  • r (read): Die Datei lesen oder den Ordnerinhalt auflisten.
  • w (write): Die Datei ändern oder im Ordner Dateien anlegen und löschen.
  • x (execute): Die Datei als Programm ausführen oder in den Ordner wechseln.

Diese drei Rechte gelten getrennt für drei Gruppen: den Besitzer der Datei, die zugeordnete Gruppe und alle anderen Nutzer.

Rechte ändern mit chmod (symbolisch)

Mit dem Befehl chmod (change mode) änderst du die Berechtigungen. In der symbolischen Schreibweise gibst du an, wem du welches Recht hinzufügst oder entziehst.

# Dem Besitzer das Ausführungsrecht geben
chmod u+x script.sh

# Der Gruppe das Schreibrecht entziehen
chmod g-w datei.txt

# Allen das Leserecht geben
chmod a+r dokument.txt

# Kombination: Besitzer alle Rechte, anderen nur lesen
chmod u+rwx,o+r daten.csv

Die Buchstaben stehen für u (user/Besitzer), g (group), o (others) und a (all). Mit + fügst du ein Recht hinzu und mit - nimmst du es weg.

Rechte mit Zahlen setzen (oktal)

Eine kompaktere Methode ist die oktale Schreibweise. Jedes Recht hat einen Zahlenwert: Lesen ist 4, Schreiben ist 2, Ausführen ist 1. Diese Werte addierst du je Gruppe.

# 7 = rwx, 5 = r-x, 4 = r--
# Besitzer alles, Gruppe lesen+ausführen, andere nur lesen
chmod 754 script.sh

# Häufig für private Dateien: nur Besitzer darf alles
chmod 600 geheim.txt

# Typisch für ausführbare Programme
chmod 755 programm

Die drei Ziffern stehen für Besitzer, Gruppe und andere. chmod 755 bedeutet also: Besitzer rwx (4+2+1), Gruppe und andere jeweils r-x (4+1). Diese Schreibweise ist im Alltag sehr verbreitet.

Besitzer ändern mit chown

Während chmod die Rechte regelt, ändert chown (change owner), wem eine Datei überhaupt gehört. Diesen Befehl brauchst du oft mit Administratorrechten.

# Den Besitzer einer Datei ändern
sudo chown anna datei.txt

# Besitzer und Gruppe gleichzeitig setzen
sudo chown anna:team datei.txt

# Einen ganzen Ordner rekursiv übergeben
sudo chown -R anna:team projekt/

Das vorangestellte sudo verschafft dir die nötigen Administratorrechte. Mit der Option -R wendest du die Änderung auf einen kompletten Ordnerbaum an.

Häufige Anwendungsfälle

In der Praxis begegnen dir immer wieder dieselben Situationen. Hier ein paar typische Beispiele, die dir den Einstieg erleichtern.

# Ein Script ausführbar machen
chmod +x deploy.sh

# Eine Konfigurationsdatei vor fremden Augen schützen
chmod 600 config.env

# Einem Webserver-Ordner sinnvolle Rechte geben
chmod -R 755 /var/www/meine-seite

Gerade chmod +x brauchst du ständig, wenn du eigene Scripts schreibst. Und chmod 600 ist die richtige Wahl für alles, was nur dich etwas angeht, etwa Schlüsseldateien.

Fazit

Das Berechtigungssystem von Linux ist ein wichtiges Sicherheitsfundament. Sobald du die drei Rechte r, w und x und die drei Gruppen Besitzer, Gruppe und andere verstanden hast, ergibt die Anzeige von ls -l sofort Sinn. Mit chmod passt du Rechte an, mit chown den Besitzer. Übe das an Testdateien und schau dir mit ls -l nach jeder Änderung an, was passiert ist. So wird das System schnell vertraut und du arbeitest sicherer auf jedem Linux-Rechner.