Dateirechte sind die Angabe, wer eine Datei lesen, ändern und ausführen darf. Unterschieden werden drei Gruppen: der Eigentümer, seine Gruppe und alle übrigen. Gesetzt werden sie mit dem Befehl chmod.
- Dateirechte
Die Angabe, wer eine Datei lesen, ändern und ausführen darf.
Beispiel: „Die Dateirechte des Verzeichnisses standen auf 777, deshalb konnte jeder Prozess auf dem Server hineinschreiben.“Auch: Dateiberechtigungen, Zugriffsrechte, Permissions. Der Befehl
chmodsteht für change mode; der Eigentümer wird mitchowngewechselt.Die drei Ziffern stehen für Eigentümer, Gruppe und alle übrigen. Vier bedeutet lesen, zwei schreiben, eins ausführen; die Summe ergibt die Ziffer, also sieben für alles.
chmod 644 index.php # Eigentümer darf ändern, alle dürfen lesen
chmod 755 bilder/ # Verzeichnis: zusätzlich betretbar
chmod 600 .env # nur der Eigentümer, sonst niemandWelche Dateirechte eine Website braucht
Für Dateien 644 und für Verzeichnisse 755. Bei einem Verzeichnis bedeutet das Ausführungsrecht, dass man hineinwechseln darf, deshalb die Ziffer fünf statt vier.
Enger wird es bei Zugangsdaten. Eine Datei mit Datenbankpasswort gehört auf 600, damit andere Konten auf demselben Server sie nicht lesen.
Warum 777 bei Dateirechten der falsche Weg ist
Weil es jedem Prozess auf dem Server das Schreiben erlaubt. Auf geteiltem Hosting liegen dort auch fremde Projekte, und ein übernommenes Nachbarkonto reicht dann für den eigenen Schaden.
Die Einstellung erscheint, weil ein Upload fehlschlägt und 777 das Problem sofort behebt. Der eigentliche Fehler liegt beim Eigentümer der Dateien, und er wird mit chown behoben.
Woran falsche Dateirechte im Alltag auffallen
An Fehlern beim Hochladen, an einem Zwischenspeicher, der nicht geschrieben wird, und an einem Serverfehler, hinter dem in den Server Logs ein verweigerter Zugriff steht.
Der zweite Fall ist der Übertrag per SFTP: Dateien landen unter dem Konto des Übertragenden, und der Webserver läuft unter einem anderen. Dann stimmen die Rechte, und der Eigentümer stimmt nicht.