Skip to main content

Berechtigungen - chmod

🔐 Rechteverwaltung unter Linux – chmod erklärt

Linux verwendet ein einfaches, aber mächtiges System zur Rechtevergabe für Dateien und Ordner. Mit dem Befehl chmod kannst du steuern, wer lesen, schreiben oder ausführen darf – mit Zahlen (z. B. chmod 770) oder Buchstaben (z. B. chmod g+s).


📁 Die 3 Ebenen der Dateiberechtigungen

  • Owner – der Benutzer, dem die Datei gehĂśrt
  • Group – die Gruppe, der die Datei zugewiesen ist
  • Others – alle anderen Benutzer

FĂźr jede dieser Ebenen kannst du Berechtigungen vergeben:

  • r = read (lesen)
  • w = write (schreiben)
  • x = execute (ausfĂźhren, z. B. Skript starten oder in Ordner wechseln)

🔢 chmod mit Zahlen

Die häufigste Form ist die Zahlendarstellung, z. B. chmod 755 datei

Jede Ziffer steht fĂźr einen Teil der Berechtigung:

Zahl Binär Bedeutung Erlaubt
0 000 --- keine Rechte
1 001 --x nur ausfĂźhren
2 010 -w- nur schreiben
3 011 -wx schreiben + ausfĂźhren
4 100 r-- nur lesen
5 101 r-x lesen + ausfĂźhren
6 110 rw- lesen + schreiben
7 111 rwx alles erlaubt

Beispiel:

chmod 750 meinskript.sh
# ergibt: rwxr-x--- (Owner: alles, Group: lesen + ausfĂźhren, Others: nichts)

🔤 chmod mit Buchstaben (symbolische Schreibweise)

Du kannst Berechtigungen auch gezielt setzen oder entfernen:

  • chmod u+x datei → gib dem Owner das Recht, die Datei auszufĂźhren
  • chmod g-w datei → entziehe der Gruppe das Schreibrecht
  • chmod o=r datei → setze fĂźr „Others“ nur Leserecht

Die Buchstaben stehen fĂźr:

  • u = user (Owner)
  • g = group
  • o = others
  • a = all

⚙️ Spezielle Modi: Setuid, Setgid, Sticky

Bit Zahl Symbol Beschreibung
Setuid 4 s Prozesse starten mit den Rechten des Dateibesitzers
Setgid 2 s Neue Dateien im Ordner erben die GruppenzugehĂśrigkeit
Sticky Bit 1 t Nur der Besitzer darf Dateien löschen (z. B. in /tmp)

Beispiel: Gruppenvererbung aktivieren

chmod 2770 /gemeinsamer/ordner
# Ergebnis: rwxrws--- (Setgid aktiv → Gruppe wird vererbt!)

Alternativ:

chmod g+s /pfad

🧠 Beispiele aus der Praxis

# Nur Besitzer darf lesen + schreiben, Gruppe darf nur lesen:
chmod 640 datei.txt

# Alles fĂźr Besitzer und Gruppe, andere dĂźrfen durch Verzeichnis springen:
chmod 2771 /mnt/shared

# Alle dĂźrfen alles:
chmod 777 /mnt/offen

# Gruppe "admin" soll dauerhaft Zugriff behalten:
chown root:admin /mnt/projekt
chmod 2770 /mnt/projekt

🔍 Rechte prüfen mit ls -l

Mit ls -l siehst du die Rechte:

-rwxrws--- 1 root admin  ...   ← s = Setgid aktiv
drwxrwxrwt 2 root root   ...   ← t = Sticky Bit aktiv (z. B. /tmp)

✅ Zusammenfassung

  • Numerisch: chmod 755 datei
  • Symbolisch: chmod g+s ordner
  • Gruppenvererbung: Setgid mit chmod 2XXX
  • PrĂźfen: ls -l zeigt alle Rechte

Nutze Setgid für gemeinsame Team-Ordner, Sticky für geteilte Schreibbereiche und plane Rechte frühzeitig – spart dir später Ärger 😉