5.2 KiB
5.2 KiB
Dolphin FTP Share Tab
Ein KDE Dolphin Properties-Dialog Plugin zum Erstellen und Verwalten von FTP-Freigaben — direkt über die GUI.
Features
- FTP-Tab in Dolphins Ordner-Eigenschaften (Rechtsklick → Eigenschaften)
- Freigabe per Checkbox aktivieren/deaktivieren
- Freigabename konfigurierbar (Standard = Ordnername)
- Per-User Berechtigungen: Read Only / Read-Write pro Benutzer
- Jeder Benutzer sieht nur seine freigegebenen Ordner per FTP
- Read-Only wird direkt am Dateisystem durchgesetzt (read-only Bind-Mount)
- Automatische Einrichtung mit
dolphin-ftp-share setup
Voraussetzungen
- Pure-FTPd als FTP-Server
- Das Helper-Script
dolphin-ftp-shareim PATH - Build-Dependencies (siehe unten)
Einrichtung
1. Pure-FTPd installieren
sudo apt install pure-ftpd
2. Helper-Script installieren
sudo cp scripts/dolphin-ftp-share /usr/local/bin/
sudo chmod +x /usr/local/bin/dolphin-ftp-share
3. Automatisches Setup
Das Setup konfiguriert Pure-FTPd komplett und erstellt die sudoers-Regel:
sudo dolphin-ftp-share setup
Das macht automatisch:
- Aktiviert PureDB-Authentifizierung (virtuelle FTP-Benutzer)
- Deaktiviert System-Login und anonymen Zugang
- Aktiviert Chroot (jeder sieht nur seine Ordner)
- Erstellt sudoers-Regel für mount/umount/pure-pw
- Aktiviert Logging
- Startet Pure-FTPd neu
4. FTP-Passwörter setzen
FTP-Benutzer werden beim ersten Freigeben automatisch erstellt (Standard-Passwort = Benutzername). Passwort ändern:
dolphin-ftp-share passwd <benutzername> <neues-passwort>
Logging
Pure-FTPd loggt über syslog:
# Logs live verfolgen:
sudo tail -f /var/log/syslog | grep pure-ftpd
Versionen
| Verzeichnis | Zielplattform | KDE Frameworks | Qt |
|---|---|---|---|
kf5/ |
Debian 12 Bookworm | KF5 | Qt5 |
kf6/ |
Debian 13 Trixie | KF6 | Qt6 |
Der C++ Quellcode ist identisch — nur die CMake-Konfiguration unterscheidet sich.
Build & Installation
Debian 12 (KF5)
Build-Dependencies:
sudo apt install build-essential cmake extra-cmake-modules \
libkf5kio-dev libkf5coreaddons-dev libkf5i18n-dev \
qtbase5-dev
Bauen:
cd kf5
bash build.sh
Installieren:
sudo cp build/bin/ftpshareplugin.so \
/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/propertiesdialog/
Dolphin neustarten:
killall dolphin; dolphin &
Debian 13 Trixie (KF6)
Build-Dependencies:
sudo apt install build-essential cmake extra-cmake-modules \
libkf6kio-dev libkf6coreaddons-dev libkf6i18n-dev \
qt6-base-dev
Bauen:
cd kf6
bash build.sh
Installieren:
sudo cp build/bin/ftpshareplugin.so \
/usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/propertiesdialog/
Dolphin neustarten:
killall dolphin; dolphin &
Deinstallation
# KF5
sudo rm /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/propertiesdialog/ftpshareplugin.so
# KF6
sudo rm /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/propertiesdialog/ftpshareplugin.so
# Helper-Script & sudoers
sudo rm /usr/local/bin/dolphin-ftp-share
sudo rm /etc/sudoers.d/dolphin-ftp-share
# Pure-FTPd (optional)
sudo apt remove pure-ftpd
Projektstruktur
kde-dolphin-ftp-sharing-tab/
├── README.md
├── scripts/
│ └── dolphin-ftp-share # Helper-Script für Share-Verwaltung
├── kf5/ # Debian 12 (KDE Plasma 5)
│ ├── CMakeLists.txt
│ ├── build.sh
│ └── src/
│ ├── CMakeLists.txt
│ ├── ftpshareplugin.json
│ ├── ftpshareplugin.h
│ └── ftpshareplugin.cpp
└── kf6/ # Debian 13 (KDE Plasma 6)
├── CMakeLists.txt
├── build.sh
└── src/
├── CMakeLists.txt
├── ftpshareplugin.json
├── ftpshareplugin.h
└── ftpshareplugin.cpp
Wie es funktioniert
- Rechtsklick auf Ordner → Eigenschaften → FTP-Tab
- Freigabe aktivieren, Berechtigungen pro Benutzer setzen (Read Only / Read-Write)
- Beim Anwenden ruft das Plugin
dolphin-ftp-share addauf - Das Helper-Script:
- Erstellt für jeden Benutzer ein persönliches FTP-Root (
~/.local/share/dolphin-ftp-root/users/<name>/) - Bind-mounted den freigegebenen Ordner dorthin
- Read-Only Freigaben werden als read-only Bind-Mount gemountet
- Erstellt automatisch virtuelle Pure-FTPd-Benutzer (PureDB)
- Erstellt für jeden Benutzer ein persönliches FTP-Root (
- Jeder FTP-Benutzer sieht nur seine freigegebenen Ordner — durch Chroot auf sein persönliches FTP-Root
Kommandos
| Kommando | Beschreibung |
|---|---|
dolphin-ftp-share setup |
Einmalige Pure-FTPd Einrichtung |
dolphin-ftp-share add <name> <path> <acl> |
Freigabe erstellen |
dolphin-ftp-share delete <name> |
Freigabe löschen |
dolphin-ftp-share info |
Bestehende Freigaben auflisten |
dolphin-ftp-share passwd <user> <pass> |
FTP-Passwort ändern |
Berechtigungen
| Level | Beschreibung |
|---|---|
--- |
Kein Zugriff — Ordner ist für diesen Benutzer nicht sichtbar |
ro |
Read Only — nur Download |
rw |
Read-Write — Upload und Download |
Lizenz
GPLv2+
