In dieser Anleitung behebst du ein typisches Berechtigungsproblem auf einem Raspberry Pi. Der Fehler tritt auf, wenn Dateien per FTP oder SFTP nicht auf den Pi hochgeladen werden können und eine Meldung wie Permission denied erscheint.
Permission denied/srv/it-doku/howtolinuxhtml/adlumexWenn beim Hochladen per FTP/SFTP eine Meldung wie diese erscheint, liegt fast immer ein Berechtigungsproblem auf dem Zielordner vor:
Permission denied
Fehlercode: 3
Das bedeutet: Die Verbindung zum Raspberry Pi funktioniert, aber der angemeldete Benutzer darf in den Zielordner nicht schreiben.
Um zu prüfen, ob es wirklich an den Rechten liegt, testest du das Schreiben direkt auf dem Pi:
touch /srv/it-doku/howtolinuxhtml/test.txt
Falls die Ausgabe so aussieht, ist das Problem bestätigt:
touch: cannot touch '/srv/it-doku/howtolinuxhtml/test.txt': Permission denied
touch sollte auf eine Datei zeigen, nicht nur auf einen Ordner. Ein Test mit touch /pfad/zum/ordner/ ist ungenau. Besser ist immer ein Dateiname wie test.txt.
Mit folgendem Befehl siehst du, wem der Ordner gehört und welche Rechte gesetzt sind:
ls -ld /srv/it-doku/howtolinuxhtml
Typische Ausgaben sind zum Beispiel:
drwxr-xr-x root root /srv/it-doku/howtolinuxhtml
drwxr-xr-x www-data www-data /srv/it-doku/howtolinuxhtml
Wenn der Ordner nicht dem Benutzer adlumex gehört und auch keine passende Gruppenberechtigung gesetzt ist, kann der Upload nicht funktionieren.
Wenn der Benutzer adlumex direkt in diesem Verzeichnis arbeiten soll, kannst du den Besitz ändern:
sudo chown -R adlumex:adlumex /srv/it-doku
Damit gehört der Ordnerbaum anschließend dem Benutzer adlumex.
Falls der Webserver mit www-data arbeitet, ist es oft sinnvoller, den Besitzer so zu lassen und dem Benutzer Gruppenrechte zu geben:
sudo usermod -aG www-data adlumex
sudo chown -R www-data:www-data /srv/it-doku
sudo chmod -R 775 /srv/it-doku
usermod -aG musst du dich einmal neu anmelden oder die SSH-Sitzung neu starten, damit die Gruppenmitgliedschaft aktiv wird.
| Recht | Bedeutung |
|---|---|
755 |
Besitzer darf lesen/schreiben, Gruppe und andere nur lesen/ausführen |
775 |
Besitzer und Gruppe dürfen lesen/schreiben, andere nur lesen/ausführen |
777 |
Alle dürfen alles, sicherheitstechnisch nicht empfohlen |
777. Das öffnet den Ordner für alle Benutzer und ist für produktive Systeme keine gute Idee.
Nach der Rechteanpassung testest du erneut:
touch /srv/it-doku/howtolinuxhtml/test.txt
Wenn der Befehl ohne Fehlermeldung durchläuft, sind die Schreibrechte korrekt gesetzt.
Danach sollte auch der Upload per FTP oder SFTP wieder funktionieren.
Falls du bisher klassisches FTP verwendest, empfiehlt sich stattdessen SFTP über SSH. Das ist meist robuster und sicherer.
In Programmen wie FileZilla kannst du als Protokoll einfach SFTP auswählen.
Das Problem lag nicht am Netzwerk, sondern an fehlenden Schreibrechten auf dem Raspberry Pi. Der Benutzer adlumex durfte nicht in den Ordner /srv/it-doku/howtolinuxhtml/ schreiben.
Die Lösung besteht darin, entweder:
Mit einem anschließenden Test per touch lässt sich schnell prüfen, ob die Änderung erfolgreich war.