
Dateiberechtigungen in Linux ändern – chmod einfach erklärt
Jeder Linux-Nutzer steht irgendwann vor der Frage: Wie ändere ich die Berechtigungen dieser Datei? Der Befehl chmod ist die Antwort – aber die Zahlenkombinationen wirken auf den ersten Blick kryptisch. Tatsächlich steckt dahinter ein einfaches System aus drei Benutzergruppen und drei Berechtigungsarten, das unter allen Linux-Distributionen gleich funktioniert, wie Red Hat in seiner Einführung zu Dateirechten bestätigt. Dieses Tutorial zeigt dir die wichtigsten Modi, die Risiken von 777 und sichere Alternativen für Ubuntu und andere Distributionen.
Berechtigungstypen: Lesen (r), Schreiben (w), Ausführen (x) ·
Benutzergruppen: Besitzer (u), Gruppe (g), Andere (o) ·
Oktalziffern (3+1): 0–7 pro Gruppe, plus Setuid/Setgid/Sticky Bit ·
Häufigste Modi: 644 (Dateien), 755 (Verzeichnisse), 777 (alle Rechte) ·
Befehl: chmod [Optionen] Modus Datei
Kurzüberblick
- 0 = — (DigitalOcean)
- 1 = –x (DigitalOcean)
- 2 = -w- (DigitalOcean)
- 3 = -wx (DigitalOcean)
- 4 = r– (DigitalOcean)
- 5 = r-x (DigitalOcean)
- 6 = rw- (DigitalOcean)
- 7 = rwx (DigitalOcean)
- 777 = rwxrwxrwx (alle Rechte für alle) (IONOS)
- 755 = rwxr-xr-x (Standard für Verzeichnisse) (DigitalOcean)
- 644 = rw-r–r– (Standard für Dateien) (Linuxize)
- 600 = rw——- (nur Besitzer) (Red Hat)
- 700 = rwx—— (nur Besitzer, ausführbar) (Red Hat)
Die folgende Tabelle fasst die wichtigsten Fakten rund um den chmod-Befehl zusammen – von der Syntax bis zu den speziellen Bits.
| Eigenschaft | Wert |
|---|---|
| Befehl | chmod (change mode) |
| Syntax | chmod [Optionen] Modus Datei/Verzeichnis |
| Option -R | rekursiv für Ordner und Unterordner |
| Option -v | zeigt Änderungen an (verbose) |
| Spezielle Bits | setuid (4xxx), setgid (2xxx), sticky bit (1xxx) |
Wie ändere ich Dateiberechtigungen in Linux?
Grundlegende Syntax von chmod
Mit chmod legst du fest, wer eine Datei lesen, schreiben oder ausführen darf. Der Aufruf folgt dem Schema chmod [Optionen] Modus Datei, wie Red Hat in seinem Blog zu Linux-Dateirechten erklärt. Es gibt zwei Notationen: den symbolischen Modus (Buchstaben und Operatoren) und den Oktalmodus (Zahlen).
Symbolischer Modus (u+x, g-w, o=r)
Im symbolischen Modus kombinierst du Benutzerklassen (u, g, o, a) mit Operatoren. + fügt Rechte hinzu, - entfernt sie, = setzt sie exakt, erläutert Linuxize in seiner chmod-Referenz. Ein Beispiel: chmod u+x datei.sh erteilt dem Besitzer das Ausführungsrecht.
Oktalmodus (777, 755, 644)
Die numerische Notation verwendet drei Oktalziffern für Besitzer, Gruppe und andere. Jede Ziffer ergibt sich aus der Summe von Lesen (4), Schreiben (2) und Ausführen (1). DigitalOcean zeigt in seiner Anleitung, dass chmod 755 datei dem Besitzer alle Rechte (rwx) und Gruppe sowie anderen nur lesen und ausführen (r-x) gewährt.
- Rechte prüfen: Zeige mit
ls -l dateidie aktuellen Berechtigungen an. - Modus wählen: Entscheide zwischen symbolischer (z. B.
u+x) oder numerischer Notation (z. B.755). - Befehl ausführen: Tippe
chmod 755 script.shoderchmod u+x script.sh. - Ergebnis prüfen: Rufe erneut
ls -lauf, um die Änderung zu bestätigen. - Rekursiv bei Ordnern: Ergänze die Option
-Rfür ganze Verzeichnisbäume. - Root verwenden: Nutze
sudofür Systemdateien außerhalb des Home-Verzeichnisses.
Was bedeutet chmod 777 in Linux?
Oktal 777: rwx für alle
chmod 777 setzt die Berechtigungen auf rwxrwxrwx – jeder Benutzer auf dem System darf die Datei lesen, schreiben und ausführen. Der Wert ergibt sich aus 4 (Lesen) + 2 (Schreiben) + 1 (Ausführen) = 7, wiederholt für jede der drei Klassen. IONOS beschreibt diesen Modus als „alle Rechte für alle“.
Praktische Konsequenzen
In der Praxis öffnet chmod 777 jede Tür: Jeder lokale Benutzer oder Prozess kann die Datei verändern oder beschädigen. Red Hat warnt, dass dies ein gravierendes Sicherheitsrisiko darstellt, insbesondere bei Webservern, Skripten oder Konfigurationsdateien. Verwende stattdessen 755 für ausführbare Programme und 644 für normale Dateien. Das Muster ist klar: 777 bleibt die Ausnahme, nicht die Regel.
Ein Server mit chmod 777 auf öffentlichen Skripten lädt geradezu ein, kompromittiert zu werden. Setze 777 nur kurzzeitig und in kontrollierten Umgebungen ein – der Schutz der Daten wiegt schwerer als die temporäre Bequemlichkeit.
Was sind 755 und 644 Berechtigungen?
755: rwxr-xr-x – Standard für Verzeichnisse und ausführbare Dateien
Der Modus 755 erlaubt dem Besitzer Lesen, Schreiben und Ausführen; der Gruppe und anderen nur Lesen und Ausführen. DigitalOcean empfiehlt diesen Modus als Standard für Verzeichnisse und ausführbare Programme. Beispiel: chmod 755 /home/user/script.sh macht das Skript lauffähig, ohne anderen Schreibrechte zu geben.
644: rw-r–r– – Standard für normale Dateien
644 gibt dem Besitzer Lese- und Schreibrechte, der Gruppe und anderen nur Leserechte. Das ist die empfohlene Voreinstellung für Textdateien, Konfigurationen und Logs. Linuxize führt diesen Modus als typisch für Dokumente auf, die nicht ausführbar sein müssen.
Der Unterschied ist einfach: 755 ist der ausführbare Standard, 644 der nicht-ausführbare Standard. Wer beide verinnerlicht, hat 90 % der alltäglichen Berechtigungsfragen gelöst. Die Konsequenz: Für fast jede Datei gibt es einen passenden Modus, ohne auf 777 ausweichen zu müssen.
Wie ändere ich Berechtigungen für einen Ordner in Linux?
Rekursive Berechtigungen mit chmod -R
Mit der Option -R wendest du chmod rekursiv auf alle Dateien und Unterordner eines Verzeichnisses an. IONOS zeigt das Beispiel chmod -R 755 /pfad/zum/ordner. Das ist praktisch, birgt aber Risiken: Ein falscher Befehl kann tausende Dateien ungewollt freigeben. Der Administrator muss hier besonders sorgfältig vorgehen.
Spezielle Rechte für Verzeichnisse (Sticky Bit, Setgid)
Für Verzeichnisse gibt es spezielle Bits: Das Sticky Bit (1xxx, z. B. 1777 für /tmp) verhindert, dass Benutzer fremde Dateien löschen. Das Setgid-Bit (2xxx) sorgt dafür, dass neue Dateien die Gruppen-IDs des Verzeichnisses erben. Ubuntuusers empfiehlt für gemischte Umgebungen den rekursiven Befehl chmod -R u+rwX,g+rX,o+rX /verzeichnis, der das X (Ausführen) nur für Ordner setzt, nicht für Dateien.
Teste rekursive Änderungen immer zuerst mit ls -l oder find, bevor du sie ausführst. Einmal gesetzt, lassen sich Rechte nur mit Backup wiederherstellen – dieser Schritt schützt vor ungewollten Freigaben.
Wie ändere ich Dateiberechtigungen in Ubuntu?
Verwendung von sudo für Systemdateien
Ubuntu erbt den chmod-Befehl direkt vom Linux-Kernel – die Kommandos sind identisch. Für Dateien außerhalb des Home-Verzeichnisses ist allerdings sudo nötig. IONOS erinnert daran, dass nur der Eigentümer oder der Root-Benutzer Berechtigungen ändern darf. Ein Beispiel: sudo chmod 644 /etc/nginx/nginx.conf. Der Nutzer muss also Root-Rechte besitzen, um Systemdateien anzupassen.
Grafische Alternative: Dateimanager (Eigenschaften → Berechtigungen)
Wer die Kommandozeile scheut, kann Berechtigungen auch im GNOME-Dateimanager anpassen: Rechtsklick → Eigenschaften → Berechtigungen. Dort lassen sich Rechte für Besitzer, Gruppe und Andere per Dropdown setzen. Diese Option eignet sich für schnelle Änderungen an einzelnen Dateien.
chmod und sudo oder die einfache grafische Oberfläche. Für wiederkehrende Aufgaben ist das Terminal schneller und präziser – der Administrator profitiert von der Skriptbarkeit der Kommandozeile.Bestätigte Fakten und offene Fragen
Bestätigte Fakten
- chmod ändert die Berechtigungen auf Dateisystemebene (Red Hat).
- Oktal 777 gewährt volle Rechte für alle Benutzer (IONOS).
- 755 und 644 sind empfohlene Standardberechtigungen (DigitalOcean).
- Der Befehl funktioniert auf allen Linux-Distributionen gleich (Linuxize).
Was unklar ist
- Ob bestimmte Distributionen abweichende Standard-umask verwenden.
- Exakte Auswirkungen von setuid auf nicht ausführbare Dateien.
- Ob die Standard-umask in Containern von der des Hosts abweicht.
- Wie sich setgid auf neu erstellte Unterverzeichnisse in gemischten Teams auswirkt.
„To modify file permissions, use the chmod command, which stands for ‘change mode.’“
– Red Hat Blog (2023)
„To change directory permissions in Linux, use common chmod commands like 755 and 644.“
– DigitalOcean (2023)
Für den durchschnittlichen Linux-Administrator oder Heimanwender ist die Wahl des richtigen chmod-Modus eine tägliche Entscheidung zwischen Sicherheit und Funktionalität. Wer sich auf 755 für Verzeichnisse und 644 für Dateien verlässt, liegt fast immer richtig. chmod 777 sollte nur in extrem kontrollierten Szenarien zum Einsatz kommen – oder gar nicht. Der Administrator, der auf 755 für Ausführbares und 644 für alles andere setzt, minimiert Sicherheitsrisiken und maximiert die Funktionalität.
Verwandte Themen: Was ist ein SSH-Tunnel? · Standort auf Android deaktivieren
Neben der Verwaltung von Dateiberechtigungen solltest du auch die CPU-Temperatur unter Linux prüfen – eine weitere wichtige Aufgabe für die Systemstabilität.
Häufig gestellte Fragen
Was ist der Unterschied zwischen chmod und chown?
chmod ändert die Zugriffsrechte einer Datei, chown ändert den Eigentümer. Beide Befehle ergänzen sich: Mit chown weist du einer Datei einen neuen Besitzer zu, mit chmod legst du die Rechte für diesen Besitzer fest.
Wie setze ich die setuid-Berechtigung (chmod u+s)?
Mit chmod u+s datei aktivierst du das Setuid-Bit. Die Datei wird dann mit den Rechten des Besitzers ausgeführt, nicht des aufrufenden Benutzers. Im Oktalmodus setzt du die erste Ziffer auf 4 (z. B. chmod 4755).
Welche Berechtigungen benötigt ein Skript zum Ausführen?
Du benötigst mindestens das Ausführungsrecht (x) für den Benutzer, der das Skript starten soll. Für ein Bash-Skript sind 755 üblich. Der erste Zeile des Skripts muss einen Shebang (#!/bin/bash) enthalten.
Wie überprüfe ich Berechtigungen mit ls -la?
Der Befehl ls -la listet alle Dateien mit ihren Rechten in der ersten Spalte auf. Beispiel: -rwxr-xr-x bedeutet: eine normale Datei (-), Besitzer rwx, Gruppe r-x, Andere r-x.
Was ist die umask und wie beeinflusst sie neue Dateien?
Die umask legt fest, welche Rechte bei neuen Dateien standardmäßig entfernt werden. Eine umask von 022 führt zu 755 für Verzeichnisse und 644 für Dateien. Mit umask 077 erhalten nur der Besitzer Rechte.
Kann ich Berechtigungen nur für bestimmte Benutzer ändern?
chmod arbeitet mit Benutzerklassen (Besitzer, Gruppe, Andere), nicht mit einzelnen Benutzernamen. Für feingranulare Rechte benötigst du Zugriffskontrolllisten (ACLs) mit setfacl und getfacl.
Wie entferne ich Ausführungsrechte von einer Datei?
Verwende chmod -x datei. Das entfernt das Ausführungsrecht für alle Klassen. Optional: chmod u-x datei entfernt es nur für den Besitzer.