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ührenchmod g-w datei→ entziehe der Gruppe das Schreibrechtchmod 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 -lzeigt alle Rechte
Nutze Setgid für gemeinsame Team-Ordner, Sticky für geteilte Schreibbereiche und plane Rechte frühzeitig – spart dir später Ärger 😉
No comments to display
No comments to display