Linux Essentials 5.3 – Dateiberechtigungen und Dateieigentum verwalten

Inhaltsverzeichnis

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 = read
  • 2 = write
  • 1 = 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 Datei
  • d: Verzeichnis
  • l: symbolischer Link
  • c: 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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

217 Beiträge
10 Folgende