Raspberry Pi – Schreibrechte für FTP/SFTP beheben

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.

Ausgangslage:

1. Problem erkennen

Wenn 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.

2. Direkt auf dem Raspberry Pi testen

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
Hinweis: Der Befehl 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.

3. Besitzer und Rechte des Ordners prüfen

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.

4. Lösungsmöglichkeiten

Variante A: Ordner dem Benutzer zuweisen

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.

Variante B: Webserver-Besitzer beibehalten und Benutzer zur Gruppe hinzufügen

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
Wichtig: Nach dem Befehl usermod -aG musst du dich einmal neu anmelden oder die SSH-Sitzung neu starten, damit die Gruppenmitgliedschaft aktiv wird.

5. Bedeutung der Rechte

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
Wichtig: Setze nach Möglichkeit nicht einfach 777. Das öffnet den Ordner für alle Benutzer und ist für produktive Systeme keine gute Idee.

6. Funktion testen

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.

Erfolg: Sobald sich im Zielordner testweise eine Datei anlegen lässt, ist das eigentliche Problem behoben.

7. FTP oder besser SFTP verwenden

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.

8. Zusammenfassung

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.