Unix-Dateiberechtigungen mit dem Chmod-Rechner verstehen

17 Jun 2026 1,212 words

Unix-Dateiberechtigungen mit dem Chmod-Rechner verstehen

Unix-Dateiberechtigungen steuern, wer Dateien und Verzeichnisse lesen, schreiben und ausführen kann. Jede Datei und jedes Verzeichnis auf einem Linux- oder Unix-System hat einen Satz von Berechtigungsbits, die den Zugriff für drei Kategorien bestimmen: den Dateibesitzer, die Gruppe und alle anderen. Das Verständnis dieser Berechtigungen ist wesentlich für die Systemadministration, Webentwicklung, DevOps und jede Arbeit auf Linux-Servern.

Die drei Berechtigungstripel

Berechtigungen sind in drei Gruppen zu je drei Bits organisiert:

Owner  Group  Other
 rwx    rwx    rwx

Jedes Tripel enthält drei Berechtigungen:

  • r — Lesen (4)
  • w — Schreiben (2)
  • x — Ausführen (1)

Die Werte in Klammern sind die oktalen Gewichte. Um den oktalen Modus zu berechnen, addieren Sie die Gewichte der aktivierten Berechtigungen für jedes Tripel.

rwx = 4 + 2 + 1 = 7
rw- = 4 + 2 + 0 = 6
r-x = 4 + 0 + 1 = 5
r-- = 4 + 0 + 0 = 4
-wx = 0 + 2 + 1 = 3
-w- = 0 + 2 + 0 = 2
--x = 0 + 0 + 1 = 1
--- = 0 + 0 + 0 = 0

Häufige Chmod-Modi

Oktal Symbolisch Owner Group Other Häufige Verwendung
777 rwxrwxrwx rwx rwx rwx Vollzugriff (unsicher, vermeiden)
755 rwxr-xr-x rwx r-x r-x Verzeichnisse, ausführbare Skripte
750 rwxr-x--- rwx r-x --- Team-Verzeichnisse
700 rwx------ rwx --- --- Private ausführbare Dateien
644 rw-r--r-- rw- r-- r-- Normale Dateien, Web-Assets
640 rw-r----- rw- r--- --- Team-lesbare Dateien
600 rw------- rw- --- --- Private Dateien (SSH-Schlüssel)
400 r-------- r-- --- --- Schreibgeschützte Konfiguration

Datei- vs. Verzeichnisberechtigungen

Das Ausführungsbit verhält sich bei Dateien und Verzeichnissen unterschiedlich.

Berechtigung Bei einer Datei Bei einem Verzeichnis
r Dateiinhalt lesen Verzeichnisinhalt auflisten (ls)
w Dateiinhalt ändern Dateien im Verzeichnis erstellen, umbenennen, löschen
x Datei als Programm ausführen In Verzeichnis wechseln (cd), auf Dateien im Inneren zugreifen

Diese Unterscheidung ist entscheidend. Ein Verzeichnis benötigt sowohl r als auch x, um lesbar zu sein — r allein ermöglicht das Anzeigen der Dateinamen, aber ohne x können Sie nicht auf eine Datei darin zugreifen.

# Verzeichnis mit r aber ohne x — kann auflisten, aber nicht zugreifen
$ ls -la /example
# (zeigt Dateinamen, aber Sie können nicht hineinwechseln oder Dateien lesen)

# Verzeichnis mit r-x — voller Lesezugriff
$ ls -la /example
$ cat /example/file.txt

Chmod-Befehlsreferenz

Oktale Notation

chmod 755 script.sh     # rwxr-xr-x
chmod 644 index.html    # rw-r--r--
chmod 600 id_rsa        # rw------- (SSH-privater Schlüssel)
chmod 700 ~/.ssh         # rwx------ (SSH-Verzeichnis)
chmod -R 755 public/    # Rekursiv (auf alle Dateien und Unterverzeichnisse anwenden)

Symbolische Notation

chmod u+x script.sh     # Ausführen für Besitzer hinzufügen
chmod g+w file.txt      # Schreiben für Gruppe hinzufügen
chmod o-r file.txt      # Lesen für andere entfernen
chmod a+rx script.sh    # Lesen+Ausführen für alle hinzufügen (ugo)
chmod u=rwx,g=rx,o=    # Exakte Berechtigungen setzen: rwxr-x---
chmod -R u=rwX,go=rX public/  # Rekursiv, X = Ausführen nur für Verzeichnisse

Das große X im symbolischen Modus ist besonders: Es fügt die Ausführungsberechtigung nur hinzu, wenn das Ziel ein Verzeichnis ist oder bereits eine Ausführungsberechtigung für einen Benutzer hat. Dies ist äußerst nützlich für rekursive Operationen.

# Alle Verzeichnisse auf 755 und alle Dateien auf 644 rekursiv setzen
find /path -type f -exec chmod 644 {} \;
find /path -type d -exec chmod 755 {} \;

# Oder die X-Abkürzung verwenden
chmod -R u=rwX,go=rX /path

Spezielle Berechtigungsbits

Über die grundlegenden rwx-Bits hinaus unterstützt Unix drei spezielle Berechtigungen.

Setuid (SUID) — u+s (4000)

Wenn es für eine ausführbare Datei gesetzt ist, läuft der Prozess mit den Rechten des Dateibesitzers, nicht des Benutzers, der sie gestartet hat. Dies ermöglicht es normalen Benutzern, Befehle auszuführen, die erhöhte Berechtigungen erfordern.

chmod u+s /usr/bin/passwd
# -rwsr-xr-x (das s ersetzt x im Besitzer-Tripel)

Setgid (SGID) — g+s (2000)

Bei einer Datei läuft der Prozess mit der Gruppe der Datei. Bei einem Verzeichnis erben neu erstellte Dateien im Inneren die Gruppe des Verzeichnisses anstelle der primären Gruppe des Erstellers.

chmod g+s /shared/directory
# drwxrwsr-x (das s ersetzt x im Gruppen-Tripel)

Sticky-Bit — +t (1000)

Hauptsächlich auf /tmp verwendet — nur der Dateibesitzer (oder root) kann Dateien im Verzeichnis löschen oder umbenennen, selbst wenn andere Schreibberechtigung haben.

chmod +t /tmp
# drwxrwxrwt (das t ersetzt x im Other-Tripel)

Umask: Standardberechtigungen

Umask definiert, welche Berechtigungsbits entfernt werden, wenn eine neue Datei oder ein neues Verzeichnis erstellt wird. Es ist das Gegenteil der gewünschten Standardberechtigungen.

umask 022  # Standard für die meisten Systeme
# Dateien: 666 - 022 = 644 (rw-r--r--)
# Verz.:   777 - 022 = 755 (rwxr-xr-x)

umask 002  # Standard für gemeinsame Verzeichnisse
# Dateien: 666 - 002 = 664 (rw-rw-r--)
# Verz.:   777 - 002 = 775 (rwxrwxr-x)

umask 077  # Restriktiv (privat)
# Dateien: 666 - 077 = 600 (rw-------)
# Verz.:   777 - 077 = 700 (rwx------)

Sicherheits-Best-Practices

  • Konfigurationsdateien mit Geheimnissen: 600 (chmod 600 .env)
  • SSH-private Schlüssel: 600 (chmod 600 ~/.ssh/id_rsa)
  • SSH-Verzeichnis: 700 (chmod 700 ~/.ssh)
  • Web-Verzeichnisse: 755 (chmod 755 /var/www/html)
  • Web-Dateien: 644 (chmod 644 /var/www/html/index.html)
  • Upload-Verzeichnisse: 755, nicht 777
  • Ausführbare Skripte: 755 (chmod 755 deploy.sh)
  • Nie 777 in der Produktion verwenden — es erlaubt jedem Benutzer, Dateien zu ändern

Häufige Fallstricke

Fallstrick 1: Verwechslung von Verzeichnis- und Dateiberechtigungen

# ❌ Falsch — Ausführen für alle Dateien rekursiv erteilen
chmod -R 755 /path

# ✅ Richtig — getrennte Datei- und Verzeichnisberechtigungen
find /path -type f -exec chmod 644 {} \;
find /path -type d -exec chmod 755 {} \;

Fallstrick 2: Verwendung von 777 für Web-Uploads

# ❌ Falsch — jeder Benutzer kann schreiben
chmod 777 uploads/

# ✅ Richtig — Besitzer kann schreiben, andere nur lesen+ausführen
chmod 755 uploads/
# Den Webserver-Benutzer zum Besitzer machen
chown www-data:www-data uploads/

Fallstrick 3: Ignorieren von Gruppenberechtigungen bei Teamprojekten

# Das Sticky-Group-Bit setzen, sodass neue Dateien die Gruppe erben
chmod g+s /project/shared
chmod 775 /project/shared

Online-Tool

Der CHMOD Calculator auf Help2Code bietet einen interaktiven Berechtigungsbit-Umschalter mit sofortiger oktaler und symbolischer Ausgabe. Schalten Sie Lesen, Schreiben und Ausführen für Besitzer, Gruppe und andere um und sehen Sie sofort den resultierenden chmod-Befehl. Schnelle Voreinstellungen für häufige Modi wie 755, 644, 600 und 700 erleichtern das Finden des richtigen Berechtigungssatzes, ohne oktale Werte auswendig lernen zu müssen.

Fazit

Unix-Dateiberechtigungen sind ein einfaches, aber leistungsstarkes System, das auf drei Tripeln von Lese-, Schreib- und Ausführungsbits basiert. Die oktale Notation macht Berechtigungen kompakt und skriptfähig, während die symbolische Notation eine feinkörnige Steuerung ermöglicht. Das Verständnis von Berechtigungen – einschließlich Umask, SUID, SGID und Sticky-Bit – ist für eine sichere Serveradministration unerlässlich. Verwenden Sie den CHMOD Calculator, um interaktiv mit Berechtigungskombinationen zu experimentieren.


About this article

Erfahren Sie, wie Unix-Dateiberechtigungen funktionieren, lesen Sie die oktale und symbolische Chmod-Notation wie ein Profi und berechnen Sie Berechtigungen mit unserem kostenlosen Online-Tool.


Related Articles


Related Tools

Help2Code Logo
Menu