Linux Dateirechte: chmod und chown verständlich erklärt
Wie lesen und ändern Sie Linux Dateirechte? rwx, 755 und 644, chmod und chown, die richtigen Rechte für Website- und SSH-Dateien und „Permission denied“.

Inhalt
- Rechte lesen: ls -l
- Was bedeuten r, w und x?
- Numerische Rechte: 755, 644, 600
- chmod: Rechte ändern
- chown: Eigentümer ändern
- Die richtigen Rechte für Website-Dateien
- Verwenden Sie niemals chmod 777
- Rechte für SSH-Dateien
- Den Fehler „Permission denied“ beheben
- Sonderrechte: setuid, setgid und Sticky Bit
- Dateirechte auf Nodesty-Servern
Linux Dateirechte legen für jede Datei und jeden Ordner auf dem Server fest, wer lesen, schreiben und ausführen darf. Ein Großteil der Fehler „Permission denied“, nicht hochladbarer Dateien, streikender Skripte und abgelehnter SSH-Schlüssel geht auf falsche Rechte oder einen falschen Dateieigentümer zurück. Haben Sie einmal gelernt, die Rechte zu lesen, lösen Sie die meisten dieser Probleme mit wenigen Befehlen.
In dieser Anleitung erklären wir, wie Sie Rechte lesen, wie die Befehle chmod und chown funktionieren, welche Rechte für Websites und SSH-Dateien richtig sind und wie Sie den Fehler „Permission denied“ beheben.
Rechte lesen: ls -l
Nachdem Sie sich per SSH mit Ihrem Server verbunden haben, zeigen Sie die Rechte der Dateien in einem Ordner so an:
ls -l
Die Ausgabe sieht etwa so aus:
-rw-r--r-- 1 max www-data 4120 Oct 29 10:12 index.php
drwxr-xr-x 3 max www-data 4096 Oct 29 10:10 uploads
Die erste Spalte zeigt die Rechte:
- Erstes Zeichen:
-für eine gewöhnliche Datei,dfür einen Ordner,lfür einen symbolischen Link. - Die nächsten drei Zeichen: Die Rechte des Eigentümers (user).
- Die mittleren drei Zeichen: Die Rechte der Gruppe (group).
- Die letzten drei Zeichen: Die Rechte aller anderen (others).
Die dritte und vierte Spalte zeigen Eigentümer und Gruppe der Datei; im Beispiel oben ist der Eigentümer max und die Gruppe www-data.
Was bedeuten r, w und x?
| Buchstabe | Bei einer Datei | Bei einem Ordner |
|---|---|---|
r | Inhalt lesen | Enthaltene Dateien auflisten |
w | Inhalt ändern | Dateien darin anlegen, löschen, umbenennen |
x | Programm oder Skript ausführen | Ordner betreten und auf Dateien darin zugreifen |
Das Recht x bei Ordnern wird oft übersehen: Fehlt einem Ordner das x, sind die Dateien darin unerreichbar, ganz gleich, welche Rechte sie selbst haben.
Numerische Rechte: 755, 644, 600
Jedes Recht entspricht einer Zahl: r = 4, w = 2, x = 1. Für Eigentümer, Gruppe und alle anderen werden diese Zahlen jeweils addiert:
| Zahl | In Buchstaben | Bedeutung | Wo verwendet? |
|---|---|---|---|
755 | rwxr-xr-x | Eigentümer darf alles, andere lesen und betreten | Ordner, ausführbare Skripte |
644 | rw-r--r-- | Eigentümer liest und schreibt, andere lesen nur | Dateien einer Website |
700 | rwx------ | Nur der Eigentümer hat Zugriff | Private Ordner wie ~/.ssh |
600 | rw------- | Nur der Eigentümer liest und schreibt | Passwort- und Schlüsseldateien |
640 | rw-r----- | Eigentümer liest und schreibt, Gruppe liest nur | Konfigurationsdateien, die die Anwendung lesen muss |
Zum Beispiel ist 7 = 4 + 2 + 1 (rwx), 5 = 4 + 1 (r-x), 6 = 4 + 2 (rw-).
chmod: Rechte ändern
chmod 644 index.php
chmod 755 uploads
chmod 600 .env
Sie können die Rechte auch mit Buchstaben ändern. u steht für den Eigentümer, g für die Gruppe, o für alle anderen und a für alle:
chmod u+x deploy.sh # dem Eigentümer das Ausführungsrecht geben
chmod g-w config.php # der Gruppe das Schreibrecht entziehen
chmod o-rwx backups # allen anderen sämtliche Rechte entziehen
Um die Rechte eines Ordners samt Inhalt zu ändern, gibt es -R, allerdings macht chmod -R 755 auch alle Dateien ausführbar. Wollen Sie Ordnern und Dateien unterschiedliche Rechte geben, ist find der bessere Weg:
find /var/www/site -type d -exec chmod 755 {} \;
find /var/www/site -type f -exec chmod 644 {} \;
chown: Eigentümer ändern
sudo chown max index.php
sudo chown max:www-data index.php
sudo chown -R max:www-data /var/www/site
Das Format benutzer:gruppe ändert Eigentümer und Gruppe in einem Schritt. Die meisten Rechteprobleme auf Websites entstehen, weil Dateien root gehören, etwa wenn Sie Dateien mit sudo kopiert oder git clone als root ausgeführt haben.
Die richtigen Rechte für Website-Dateien
Unter Ubuntu und Debian laufen Nginx und Apache mit dem Benutzer www-data, unter AlmaLinux läuft Nginx mit dem Benutzer nginx und Apache mit apache. Auf Ihrem eigenen vServer hat sich folgende sichere Aufteilung bewährt:
- Die Dateien gehören Ihrem Benutzer, die Gruppe ist die des Webservers:
chown -R max:www-data /var/www/site - Ordner erhalten
755, Dateien644. - Ordner, in die die Anwendung schreiben muss (bei WordPress
wp-content/uploads, bei Laravelstorageundbootstrap/cache), erhalten Schreibrechte für die Gruppe:chmod -R 775 storage - Konfigurationsdateien mit dem Datenbankpasswort (
wp-config.php,.env) erhalten640oder600.
Lassen Sie PHP-FPM mit Ihrem eigenen Benutzer laufen, brauchen Sie keine Schreibrechte für die Gruppe; die Dateien gehören dann ohnehin dem Benutzer, mit dem PHP läuft. Die Einrichtung von Laravel erklären wir in unserer Anleitung Laravel deployen, Nginx in Nginx installieren.
Im Shared Webhosting läuft PHP mit dem Benutzer Ihres Kontos, daher reichen 755 für Ordner und 644 für Dateien. Die Rechte ändern Sie im Dateimanager von cPanel oder DirectAdmin oder in Ihrem FTP-Programm; Details finden Sie in unserem Artikel FTP oder SFTP?.
Verwenden Sie niemals chmod 777
777 bedeutet, dass jeder Benutzer und jeder Prozess auf dem Server die Datei ändern darf. Schon ein einziges gekapertes Plugin einer Website kann dann Schadcode in diese Dateien schreiben. Funktioniert etwas nur mit 777, liegt das Problem nicht bei den Rechten, sondern beim Eigentümer; übertragen Sie die Datei mit chown an den richtigen Benutzer. Was nach einem Angriff auf Ihre Website zu tun ist, erklären wir in unserer Anleitung Website gehackt?.
Rechte für SSH-Dateien
Sind die Rechte der Schlüsseldateien zu offen, verweigert SSH ihre Verwendung:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Auch die private Schlüsseldatei auf Ihrem eigenen Rechner (~/.ssh/id_ed25519) sollte die Rechte 600 haben. Prüfen Sie außerdem, ob Ordner und Datei Ihrem Benutzer gehören; eine als root angelegte authorized_keys verhindert die Anmeldung per Schlüssel.
Den Fehler „Permission denied“ beheben
- Prüfen Sie Eigentümer und Rechte der Datei:
ls -l datei - Prüfen Sie alle Ordner auf dem Pfad. Fehlt einem einzigen Ordner dazwischen das Recht
x, ist die Datei unerreichbar.namei -lzeigt den gesamten Pfad auf einen Blick:
namei -l /var/www/site/public/index.php
- Finden Sie heraus, mit welchem Benutzer der Prozess läuft. Webserver, PHP-FPM oder ein systemd-Dienst laufen möglicherweise mit einem anderen Benutzer als Sie:
ps -eo user,comm | grep -E 'nginx|php|apache' - Korrigieren Sie Eigentümer oder Rechte; vergeben Sie nicht
777.
Die grundlegenden Linux-Befehle haben wir in unserem Artikel Linux Befehle zusammengestellt.
Sonderrechte: setuid, setgid und Sticky Bit
Manchmal begegnen Ihnen vierstellige Rechte:
- Sticky Bit (
1777): Sorgt in Ordnern, in die alle schreiben dürfen, etwa/tmp, dafür, dass Benutzer nur ihre eigenen Dateien löschen können. - setgid (
2775) bei Ordnern: Neue Dateien im Ordner übernehmen die Gruppe des Ordners. Praktisch, wenn mehrere Benutzer im selben Projektordner arbeiten. - setuid: Lässt ein Programm mit den Rechten des Dateieigentümers statt mit denen des Aufrufers laufen. Wird bei Systemprogrammen wie
passwdverwendet; vergeben Sie es nicht für Ihre eigenen Dateien.
Dateirechte auf Nodesty-Servern
Bei den Nodesty-Paketen AMD Ryzen 9 9950X vServer und AMD EPYC 7763 vServer legen Sie Eigentümer und Rechte Ihrer Dateien dank vollem Root-Zugriff ganz nach Bedarf fest. Wenn Sie sich nicht um die Serververwaltung kümmern möchten, läuft PHP in unseren Webhosting-Paketen mit dem Benutzer Ihres Kontos; die Rechte ändern Sie mit wenigen Klicks im Dateimanager von cPanel oder DirectAdmin.
Häufig gestellte Fragen
Was bedeuten 755 und 644?
755 bedeutet, dass der Eigentümer die Datei lesen, schreiben und ausführen darf, während Gruppe und alle anderen nur lesen und ausführen dürfen; das ist die übliche Berechtigung für Ordner. 644 bedeutet, dass der Eigentümer lesen und schreiben darf, alle anderen nur lesen; das ist die richtige Berechtigung für gewöhnliche Dateien einer Website.
Warum sollte ich chmod 777 nicht verwenden?
777 bedeutet, dass jeder Benutzer und jeder Prozess auf dem Server die Datei ändern darf. Schon ein einziges gekapertes Plugin einer Website kann dann Schadcode in diese Dateien schreiben. Funktioniert etwas nur mit 777, liegt das Problem nicht bei den Rechten, sondern beim Eigentümer der Datei; übertragen Sie sie mit chown an den richtigen Benutzer.
Was ist der Unterschied zwischen chmod und chown?
chmod ändert, wer was mit einer Datei tun darf, also die Rechte zum Lesen, Schreiben und Ausführen. chown ändert dagegen den Eigentümer und die Gruppe der Datei. Die meisten Rechteprobleme auf Websites entstehen nicht durch falsche Berechtigungen, sondern dadurch, dass die Dateien dem falschen Benutzer gehören.
Wie ändere ich Dateirechte im Webhosting?
Im Dateimanager von cPanel und DirectAdmin klicken Sie mit der rechten Maustaste auf eine Datei und ändern die Berechtigungen, oder Sie tragen den Wert in Ihrem FTP-Programm in den Dateieigenschaften ein. Im Shared Hosting sind 755 für Ordner und 644 für Dateien in der Regel die richtigen Werte.
Warum wird mein SSH-Schlüssel abgelehnt?
Sind die Rechte der Schlüsseldateien zu offen, hält SSH sie für unsicher und verwendet sie nicht. Stellen Sie sicher, dass der Ordner ~/.ssh auf dem Server die Rechte 700 und die Datei authorized_keys die Rechte 600 hat und beide Ihrem Benutzer gehören. Auch die private Schlüsseldatei auf Ihrem eigenen Rechner sollte die Rechte 600 haben.
Ich kann eine Datei ohne sudo nicht ändern. Was tun?
Die Datei gehört vermutlich root oder einem anderen Benutzer. Dateien, die Sie oder Ihre Anwendung regelmäßig ändern müssen, übertragen Sie mit chown an den betreffenden Benutzer. Systemdateien bearbeiten Sie dagegen weiterhin mit sudo; übertragen Sie sie nicht an einen normalen Benutzer.
Über den Autor
Nodesty-Team · Infrastruktur und Support
Das Nodesty-Team betreibt unsere Server, unser Netzwerk und unseren DDoS-Schutz im Alltag und beantwortet Support-Anfragen rund um die Uhr. Diese Ratgeber entstehen aus dieser Arbeit.
Verwandte Artikel

Linux Zeitzone und NTP: Serverzeit richtig einstellen
Wie stellen Sie Zeitzone und NTP auf einem Linux-Server ein? timedatectl, UTC oder Ortszeit, chrony und timesyncd, Cron, Logs, 2FA und Windows Server.

Ollama installieren: KI-Modelle auf dem eigenen Server betreiben
KI-Modelle mit Ollama auf dem eigenen Server betreiben: Installation, Wahl von Modell und RAM, API, Open WebUI, sicherer Zugriff und CPU-Auslastung.

WordPress mit Docker Compose installieren
Wie installieren Sie WordPress mit Docker Compose? MariaDB- und WordPress-Container, Passwörter in .env, Nginx und SSL, Upload-Limits, Backup und Updates.