Linux ist ein Mehrbenutzersystem. Damit mehrere Nutzer gleichzeitig an einem System arbeiten können, ohne sich gegenseitig zu stören oder gar zu gefährden, braucht es ein präzises Berechtigungssystem. Genau das bietet Linux – mit einem Konzept, das einfach, flexibel und robust zugleich ist.
Die Grundlagen: Eigentümer, Gruppen und das Berechtigungstrio
Jede Datei unter Linux gehört einem Benutzer und einer Gruppe. Für beide – sowie für alle „anderen“ – gelten drei mögliche Rechte: read (r), write (w) und execute (x).
- r (read): Lesen – Dateiinhalt oder Verzeichnisliste anzeigen
- w (write): Schreiben – Datei ändern oder Datei/Verzeichnis anlegen/löschen
- x (execute): Ausführen – Datei als Programm starten oder in Verzeichnis wechseln
Diese Rechte werden immer in folgender Reihenfolge dargestellt: [owner][group][others]. Beispiel:
-rw-r--r--
bedeutet: Besitzer darf lesen und schreiben, Gruppe darf lesen, andere dürfen nur lesen.
Dateiberechtigungen anzeigen
Mit dem Befehl ls -l siehst du die Berechtigungen im Langformat:
ls -l
-rwxr-xr-- 1 carol carol 1881 Dec 10 15:57 script.sh
Die erste Spalte gibt dabei Aufschluss über Dateityp und Rechte.
Symbolische vs. numerische Rechte
Symbolisch:
Hier werden Rechte gezielt gesetzt, ergänzt oder entfernt:
chmod u+x datei.sh # Ausführrecht für Benutzer hinzufügen
chmod g-w datei.txt # Schreibrecht für Gruppe entfernen
chmod a=r datei.log # Nur Leserechte für alle
Numerisch:
Hier setzt man alle Rechte direkt über einen dreistelligen Oktalwert:
chmod 755 script.sh # rwxr-xr-x
chmod 640 daten.txt # rw-r-----
Jede Stelle steht für owner | group | others. Die Werte:
4= read2= write1= execute
Diese Werte werden addiert. Beispiel: 7 = rwx (4+2+1).
Besitzer und Gruppen ändern
chown andreas datei.txt # Besitzer ändern
chown andreas:admins datei.txt # Besitzer & Gruppe ändern
chgrp users datei.txt # Nur Gruppe ändern
Sonderberechtigungen
Linux kennt drei zusätzliche Bits mit besonderen Effekten:
Sticky Bit (1):
Wird auf Verzeichnissen wie /tmp gesetzt. Nur der Besitzer darf dort eigene Dateien löschen, obwohl andere dort schreiben dürfen.
chmod +t verzeichnis/
chmod 1755 verzeichnis/
SetGID (2):
Auf Verzeichnissen: neue Dateien übernehmen automatisch die Gruppenzugehörigkeit des Verzeichnisses.
Auf Dateien: ausführbare Datei läuft mit Rechten der Gruppe.
chmod g+s verzeichnis/
chmod 2755 script.sh
SetUID (4):
Auf ausführbaren Dateien: Prozess wird mit den Rechten des Besitzers ausgeführt. Beispiel: /usr/bin/passwd läuft mit Root-Rechten, damit normale Nutzer ihre Passwörter ändern können.
chmod u+s script.sh
chmod 4755 script.sh
Dateitypen in der ersten Spalte von ls -l
-: normale Dateid: Verzeichnisl: symbolischer Linkc: character device (z. B. /dev/tty)b: block device (z. B. /dev/sda)s: Socket
Versteckte Dateien und Verzeichnisse
Dateien mit Punkt am Anfang (z. B. .bashrc) sind versteckt. Du findest sie mit:
ls -a
Rekursives Ändern von Berechtigungen
Mit -R kannst du Berechtigungen für komplette Verzeichnisse samt Inhalt ändern:
chmod -R 755 /opt/webserver
Achtung: damit kann man viel kaputt machen – vorsichtig einsetzen.
Zusammenfassung
- Linux setzt auf ein einfaches, aber mächtiges Dateiberechtigungssystem
- Rechte werden über
chmod(symbolisch & numerisch) angepasst chown&chgrpändern Besitzer und Gruppen- Sticky Bit, SetUID & SetGID sind wichtige Erweiterungen mit Sicherheitswirkung
- Verzeichnisse und Dateien können unterschiedliche Typen und Rechtekombinationen haben
Wer Linux sicher betreiben möchte – ob im Homelab oder im Unternehmen – muss dieses Thema beherrschen. Es bildet das Fundament für jede Form von Zugriffskontrolle.

Schreibe einen Kommentar