Zum einfachen Upload sämtlicher Dateien sollte auf einem Webserver kein FTP Zugang fehlen. Dazu richten wir in diesem Teil einen solchen FTP Server mit Zugang auf dem Pi ein.
Dieses Tutorial kann auch zum einfachen Austauschen von Dateien zwischen PC und Raspberry benutzt werden und ist nicht zwingendermaßen für einen Webserver.
Zunächst die Installation
sudo apt-get install proftpd
Kurz danach wird man nach der Startvariante gefragt. Hier wählen wir standalone (auf Deutsch Servermodus)
Im Grunde wären wir hier bereits fertig, allerdings hätte jetzt jeder Nutzer nur Zugriff auf sein eigenes Home Verzeichnis (z.B. /home/pi ). Deshalb erstellen wir einen neuen User. Dazu wechseln wir erst einmal das Verzeichnis.
cd /etc/proftpd/
Hier soll der virtuelle Benutzer erstellt werden. Im folgenden Beispiel erstelle ich den Benutzer tutorials mit dem Homevezeichnis /var/www/ (falls das Rootverzeichnis von Apache geändert wurde, sollte dies natürlich angepasst werden. Gleiches gilt, wenn ein FTP-User auf andere Verzeichnisse Zugriff haben soll).
sudo ftpasswd --passwd --name tutorials --gid 33
--uid 33
--home /var/www/ --shell /bin/false
Nun nur noch das Passwort eingeben und bestätigen. Falls das Passwort des Benutzers zu einem späteren Zeitpunkt geändert werden soll, einfach wieder in das Verzeichnis wechseln und den Befehl erneut ausführen.
Um den virtuellen User noch freizuschalten, bearbeiten wir die Konfigurationsdatei
sudo nano /etc/proftpd/proftpd.conf
und fügen folgenden Code am Ende ein:
DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off
Mittels STRG + O und STRG + X speichern und beenden wir den Editor.
Zu guter letzt starten wir den Server neu und probieren es aus.
sudo /etc/init.d/proftpd restart
Möglicherweise kann man sich nun noch trotzdem noch nicht einloggen, da entsprechende Rechte fehlen, diese setzen wir mit
chmod g+s /var/www
chmod 775 /var/www
(falls ein anderes Verzeichnis dem User zugewiesen wurde, muss es natürlich entsprechend angepasst werden)
Im nächsten Tutorial machen wir den Server auch von außerhalb des Netzwerkes erreichbar, mittels No-IP.
29 Kommentare
mein Verzeichnis ist media/Raspberry/webserver
aber dass mit dem benutzer erstellen krieg ich nicht hin
es kommt immer die Meldung:
unknown option: media
ftpasswd: –passwd: missing required argument: –home
Hast du mal versucht den kompletten Pfad anzugeben (beginnend mit / ) ?
nur keks hier, lern doch erstma die basics bevor du irgendetwas reißen willst. Schaffst ja nicht mal ein fertigen Befehl für deine Forderungen anzupassen…
Ich kenn mich da nicht so gut aus.
Könntest du mir vielleicht de richtigen Befehl hier schicken?
Wäre sehr nett
LG Davrad
Ich kenne dein (absolutes) Verzeichnis nicht. Wechsel mal dort hinein (mit
cd
) und gibpwd
ein. Dadurch solltest du den Pfad bekommen, den du im Befehl verwenden kannst.Hallo Felix 🙂
Ich habe das Problem, dass Bilder auf der erstellten Seite nicht angezeigt werden. Ich habe ein .html Ordner erstellt und alles was ich bekomme ist nur die Überschrift und ein kleiner kasten in dem das Bild sein sollte. Hab den Pfad und .png richtig angegeben, jedoch passiert auch nach mehreren Versuchen nichts. Habe es auch schon mit php Versucht, mit dem selben Ergebnis. Können die ftp://raspberrypi/ Seiten keine Bild-Dateien anzeigen?
hey,
ich kann bei mir diesen schritt nicht ausführen: sudo /etc/init.d/proftpd restart
bei mir kommt dann das:
pi@raspberrypi:/etc/proftpd $ sudo /etc/init.d/proftpd restart
[….] Restarting proftpd (via systemctl): proftpd.serviceJob for proftpd.service failed. See ’systemctl status proftpd.service‘ and ‚journalctl -xn‘ for details.
failed!
wass muss ich tun damits fuktioniert und was habe ich falsch gemacht?
LG
Potti
Da scheint etwas schief gelaufen zu sein. Was du machen sollst, um mehr Infos dazu zu bekommen steht auch dabei:
Hey,
Ich habe das selbe Problem und die Infos aus ’systemctl status proftpd.service‘ verraten nicht viel. Sonst noch einen Lösungsansatz :/
Um schreibrechte zu haben musste ich noch:
sudo chown -R www-data:www-data /var/www
ausführen
fuktioniert, danke für das Addendum
Bitte noch oben ergänzen. Es lesen nicht alle die Kommentare
Danke! Das funktioniert bei mir sehr gut!
Wie ist der Port von dem FTP-Server?
Ich bin draufgekommen. Der Port ist 21 und man kann ihn in der Datei: proftpd.conf verändern.
Trotzdem Danke!
Hallo,
ich weis nicht warum aber auf meinem pi1 läuft alles super auf dem pi3 garnicht immer wieder dieser fatal error mit dem AuthOrder.
— Unit proftpd.service has begun starting up.
Jul 14 15:05:26 raspberrypi proftpd[1344]: Starting ftp server: proftpd2018-07-14 15:05:26,812 raspberrypi proftpd[1352]: fatal: AuthOrder: AuthOrder has alr
Jul 14 15:05:26 raspberrypi proftpd[1344]: failed!
Jul 14 15:05:26 raspberrypi systemd[1]: proftpd.service: Control process exited, code=exited status=1
Jul 14 15:05:26 raspberrypi systemd[1]: Failed to start LSB: Starts ProFTPD daemon.
— Subject: Unit proftpd.service has failed
— Defined-By: systemd
— Support: https://www.debian.org/support
—
— Unit proftpd.service has failed.
Nun habe ich mal beide proftpd.conf verglichen und als ich aus
mod_auth_unix.c -> modauth_unix.c
gemacht habe lief es sofort.
was habe ich da falsch gemacht?
Hallo,
also ich habe alle Schritte soweit durchgeführt ich seh auch die Seite, ich kann mich nur nicht mit dem Benutzer anmelden. Das einloggen funktioniert nicht.
Hallo Dominik,
ich hatte gerade eben das selbe Problem. Die Ursache war, dass der Code, der in die Konfigurationsdatei „proftpd.conf“ eingefügt werden soll bei mir nicht gespeichert wurde.
Du kannst das Überprüfen wenn du die Datei nach dem Abspeichern nochmals öffnest. Sollte der folgende Code den du am Ende noch angefügt hast nicht darin enthalten sein, wurde es bei dir auch nicht gespeichert. Anders als beschrieben muss du nach dem Einfügen von:
DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off
Strg+O -> DANN DIE ENTER TASTE DRÜCKEN -> Strg+X
Dann war es bei mir erst richtig übernommen worden.
Hello Hello,
look at my P*orno http://catcut.net/Czvw
Hi,
Server läuft prima – nur wie bekomme ich ein Verzeichnis der externe Platte eingebunden ? – die SD Karte ist ja ratzfatz voll…
Danke
af
Hallo, fast alles funktioniert wie beschrieben.
Nur hat der ftp-Nutzer keine Schreibrechte im Verzeichnis ?
Führ einfach mal
sudo chown -R www-data:www-data /var/www
aus, so wie da.gloa es beschrieben hat ;-DHallo,
bei mir funktioniert der erste Schritt [sudo apt-get install proftpd].
Danach kommt aber garnichts. D.h. ich der Befehl wird ausgeführt, aber kein Fenseer oder sonstwas öffnet sich.
Wie soll ich jetzt die Startvariante auswählen? Kann man das irgendwie manuell in einem File ändern?
Das ist egal, mach einfach mit den nächsten Schritten weiter.
Irgendwas funktioniert bei mir nicht die ganze Zeit kommt das: chmod: Beim Setzen der Zugriffsrechte für „/var/www“: Die Operation ist nicht erlaubt
Hallo schöne Anleitung jeddoch habe ich auch das problem mit dem Schreibrecht habe auch schon was hier in den Kommentaren steht ausprobiert hat aber leider nicht geholfen
Kann mir jemand nochmal einen Lösungsweg erklären ?
Ok hat sich erledigt hat noch einen ordner html in /var/www und daruf hatte ich vergessen den zugriff zuzulassen
Hallo Felix, erstmal danke für die Anleitung, aber ich hab eine Frage. Bei mir fragt der FTP – Server, wenn ich über Firefox darauf zugreife, jedesmal eine PAsswortabfrage, wenn ich in einen Ordner wechsle oder eine Datei aufrufe. KAnn man das irgendwie abstellen, dass man entweder gar kein PAsswort braucht, oder aber nur einmal am Anfang?
Danke,
Moritz
also bei mir klappt das weder so nich so mit den rechten….. installiert hat er alles nur ich komme nicht drauf. wenn ich die rechte geben will kommt immer das:
pi@raspberrypi:/etc/proftpd $ pwd
/etc/proftpd
pi@raspberrypi:/etc/proftpd $ sudo chown -R www-data:www-data /var/www
chown: cannot access ‚/var/www‘: No such file or directory
pi@raspberrypi:/etc/proftpd $ sudo nano /etc/proftpd/proftpd.conf
pi@raspberrypi:/etc/proftpd $ chown -R www-data:www-data /var/www
chown: cannot access ‚/var/www‘: No such file or directory
pi@raspberrypi:/etc/proftpd $ chown -R www-data:www-data /http/var/www
chown: cannot access ‚/http/var/www‘: No such file or directory
pi@raspberrypi:/etc/proftpd $ chown -R www-data:www-data http/var/www
chown: cannot access ‚http/var/www‘: No such file or directory
ich habe echt keine ahnung warum
die cofig hat er in der datei auch übernommen…. also es ist quasi alles so wie es soll
Hi.
Ich hab das teil gut 3 Monate auf ein raspberrypi5 laufen. Jetzt spint das ding. Man muss ständig den Dienst neu starten um rein zu kommen. Nach neustart ebenso. Remove befehl funktioniert nicht. Wie werd eich das wieder los? ich komme auch mit SFTP klar, ist ja eh nur Homenetzwerk.
SSH VERLAUF:
server@raspberrypi:~ $ sudo apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 248 nicht aktualisiert.
server@raspberrypi:~ $ sudo /etc/init.d/proftpd restart
Restarting proftpd (via systemctl): proftpd.service.
server@raspberrypi:~ $ dpkg –force-all -r proftpd
dpkg: Fehler: Lese-/Schreibzugriff für dpkg-Datenbank-Verzeichnis /var/lib/dpkg benötigt
server@raspberrypi:~ $ sudo dpkg –force-all -r proftpd
dpkg: Warnung: Die Anforderung, proftpd zu entfernen, wird ignoriert; es ist nic ht installiert
server@raspberrypi:~ $ sudo su
root@raspberrypi:/home/server# apt-get install –reinstall proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
Die folgenden zusätzlichen Pakete werden installiert:
proftpd-doc
Vorgeschlagene Pakete:
openbsd-inetd | inet-superserver proftpd-mod-ldap proftpd-mod-mysql
proftpd-mod-odbc proftpd-mod-pgsql proftpd-mod-sqlite proftpd-mod-geoip
proftpd-mod-snmp proftpd-mod-crypto proftpd-mod-wrap
Die folgenden Pakete werden aktualisiert (Upgrade):
proftpd-core proftpd-doc
2 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
Es müssen 3.459 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
Holen:1 http://deb.debian.org/debian bookworm/main arm64 proftpd-core arm64 1.3. 8+dfsg-4+deb12u3 [2.524 kB]
Holen:2 http://deb.debian.org/debian bookworm/main arm64 proftpd-doc all 1.3.8+d fsg-4+deb12u3 [935 kB]
Es wurden 3.459 kB in 0 s geholt (17,4 MB/s).
Changelogs werden gelesen… Fertig
(Lese Datenbank … 137763 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von …/proftpd-core_1.3.8+dfsg-4+deb12u3_arm64.deb . ..
Entpacken von proftpd-core (1.3.8+dfsg-4+deb12u3) über (1.3.8+dfsg-4+deb12u2) .. .
Vorbereitung zum Entpacken von …/proftpd-doc_1.3.8+dfsg-4+deb12u3_all.deb …
Entpacken von proftpd-doc (1.3.8+dfsg-4+deb12u3) über (1.3.8+dfsg-4+deb12u2) …
proftpd-doc (1.3.8+dfsg-4+deb12u3) wird eingerichtet …
proftpd-core (1.3.8+dfsg-4+deb12u3) wird eingerichtet …
usermod: Keine Änderungen
Server configured as standalone.
Trigger für man-db (2.11.2-2) werden verarbeitet …
root@raspberrypi:/home/server# apt-get install –remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
proftpd-core ist schon die neueste Version (1.3.8+dfsg-4+deb12u3).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get install remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
E: Paket remove kann nicht gefunden werden.
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get –remove proftpd
E: Ungültige Operation proftpd
root@raspberrypi:/home/server# dpk -r proftpd -P
bash: dpk: Kommando nicht gefunden.
root@raspberrypi:/home/server# dpkg-reconfigure proftpd
dpkg-query: Paket »proftpd« ist nicht installiert und es ist keine Information v erfügbar
Verwenden Sie dpkg –info (= dpkg-deb –info) zum Untersuchen von Archiven.
/usr/sbin/dpkg-reconfigure: proftpd ist nicht installiert
root@raspberrypi:/home/server# systemctl disable proftpd
Synchronizing state of proftpd.service with SysV service script with /lib/system d/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable proftpd
Removed „/etc/systemd/system/multi-user.target.wants/proftpd.service“.
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# r
bash: r: Kommando nicht gefunden.
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# sudo apt remove proftpd-basic
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Paket »proftpd-basic« ist nicht installiert, wird also auch nicht entfernt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# sudo apt remove proftpd-basic
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Paket »proftpd-basic« ist nicht installiert, wird also auch nicht entfernt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# sudo apt remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# sudo apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# Apt-get remove proftpd Apt-get autoremove
bash: Apt-get: Kommando nicht gefunden.
root@raspberrypi:/home/server# apt-get remove proftpd Apt-get autoremove
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
E: Paket Apt-get kann nicht gefunden werden.
E: Paket autoremove kann nicht gefunden werden.
root@raspberrypi:/home/server# sudo apt-get remove proftpd Apt-get autoremove
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
E: Paket Apt-get kann nicht gefunden werden.
E: Paket autoremove kann nicht gefunden werden.
root@raspberrypi:/home/server# sudo apt-get remove proftpd –purge
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# sudo apt-get purge proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get remove proftpd apt-get autoremove
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
E: Paket apt-get kann nicht gefunden werden.
E: Paket autoremove kann nicht gefunden werden.
root@raspberrypi:/home/server# find /* | grep proftpd
/etc/rc4.d/K01proftpd
/etc/logrotate.d/proftpd-core
/etc/pam.d/proftpd
/etc/default/proftpd
/etc/fail2ban/filter.d/proftpd.conf
/etc/rc0.d/K01proftpd
/etc/rc3.d/K01proftpd
/etc/rc6.d/K01proftpd
/etc/proftpd
/etc/proftpd/modules.conf
/etc/proftpd/snmp.conf
/etc/proftpd/proftpd.conf
/etc/proftpd/conf.d
/etc/proftpd/tls.conf
/etc/proftpd/sql.conf
/etc/proftpd/geoip.conf
/etc/proftpd/sftp.conf
/etc/proftpd/dhparams.pem
/etc/proftpd/ldap.conf
/etc/proftpd/ftpd.passwd
/etc/proftpd/virtuals.conf
/etc/proftpd/blacklist.dat
/etc/init.d/proftpd
/etc/rc1.d/K01proftpd
/etc/rc2.d/K01proftpd
/etc/rc5.d/K01proftpd
find: ‘/run/user/1000/doc’/run/proftpd.pid
/run/proftpd.scoreboard.lck
/run/proftpd.scoreboard
/run/proftpd
/run/proftpd.delay
: Keine Berechtigung
find: ‘/run/user/1000/gvfs’: Keine Berechtigung
/run/systemd/units/invocation:proftpd.service
/sys/fs/cgroup/system.slice/proftpd.service
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.events
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.procs
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.max.descendants
/sys/fs/cgroup/system.slice/proftpd.service/cpu.stat
/sys/fs/cgroup/system.slice/proftpd.service/pids.current
/sys/fs/cgroup/system.slice/proftpd.service/pids.events
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.type
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.stat
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.threads
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.kill
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.freeze
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.controllers
/sys/fs/cgroup/system.slice/proftpd.service/pids.max
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.subtree_control
/sys/fs/cgroup/system.slice/proftpd.service/pids.peak
/sys/fs/cgroup/system.slice/proftpd.service/cgroup.max.depth
/usr/lib/python3/dist-packages/fail2ban/tests/files/logs/proftpd
/usr/lib/proftpd
/usr/lib/proftpd/mod_log_forensic.so
/usr/lib/proftpd/mod_dnsbl.so
/usr/lib/proftpd/mod_memcache.so
/usr/lib/proftpd/mod_wrap2_file.so
/usr/lib/proftpd/mod_redis.so
/usr/lib/proftpd/mod_ctrls_admin.so
/usr/lib/proftpd/mod_ident.so
/usr/lib/proftpd/mod_quotatab_sql.so
/usr/lib/proftpd/mod_quotatab_radius.so
/usr/lib/proftpd/mod_exec.so
/usr/lib/proftpd/mod_wrap2.so
/usr/lib/proftpd/mod_sql.so
/usr/lib/proftpd/mod_auth_otp.so
/usr/lib/proftpd/mod_ban.so
/usr/lib/proftpd/mod_ifsession.so
/usr/lib/proftpd/mod_deflate.so
/usr/lib/proftpd/mod_site_misc.so
/usr/lib/proftpd/mod_facl.so
/usr/lib/proftpd/mod_qos.so
/usr/lib/proftpd/mod_quotatab.so
/usr/lib/proftpd/mod_ratio.so
/usr/lib/proftpd/mod_load.so
/usr/lib/proftpd/mod_dynmasq.so
/usr/lib/proftpd/mod_radius.so
/usr/lib/proftpd/mod_rewrite.so
/usr/lib/proftpd/mod_quotatab_file.so
/usr/lib/proftpd/mod_digest.so
/usr/lib/proftpd/mod_readme.so
/usr/lib/proftpd/mod_ifversion.so
/usr/lib/proftpd/mod_shaper.so
/usr/lib/proftpd/mod_statcache.so
/usr/lib/proftpd/mod_unique_id.so
/usr/lib/proftpd/mod_copy.so
/usr/lib/proftpd/mod_wrap2_redis.so
/usr/lib/proftpd/mod_wrap2_sql.so
/usr/lib/systemd/system/proftpd@.service
/usr/lib/systemd/system/proftpd.socket
/usr/lib/systemd/system/proftpd.service
/usr/sbin/proftpd
/usr/sbin/in.proftpd
/usr/sbin/proftpd-gencert
/usr/share/doc-base/proftpd-doc.proftpd-doc
/usr/share/lintian/overrides/proftpd-core
/usr/share/doc/proftpd-core
/usr/share/doc/proftpd-core/changelog.Debian.gz
/usr/share/doc/proftpd-core/sample-configurations
/usr/share/doc/proftpd-core/sample-configurations/virtual.conf
/usr/share/doc/proftpd-core/sample-configurations/complex-virtual.conf.gz
/usr/share/doc/proftpd-core/sample-configurations/PFTEST.install
/usr/share/doc/proftpd-core/sample-configurations/anonymous.conf
/usr/share/doc/proftpd-core/sample-configurations/PFTEST.passwd
/usr/share/doc/proftpd-core/sample-configurations/PFTEST.shadow
/usr/share/doc/proftpd-core/sample-configurations/basic.conf
/usr/share/doc/proftpd-core/sample-configurations/PFTEST.conf.in
/usr/share/doc/proftpd-core/sample-configurations/PFTEST.group
/usr/share/doc/proftpd-core/sample-configurations/mod_sql.conf.gz
/usr/share/doc/proftpd-core/TODO.Debian
/usr/share/doc/proftpd-core/NEWS.gz
/usr/share/doc/proftpd-core/README.modules.gz
/usr/share/doc/proftpd-core/README.Debian.gz
/usr/share/doc/proftpd-core/systemd
/usr/share/doc/proftpd-core/systemd/README.systemd
/usr/share/doc/proftpd-core/systemd/proftpd@.service
/usr/share/doc/proftpd-core/systemd/proftpd.socket
/usr/share/doc/proftpd-core/copyright
/usr/share/doc/proftpd-core/README.LDAP.gz
/usr/share/doc/proftpd-core/changelog.gz
/usr/share/doc/proftpd-core/CREDITS
/usr/share/doc/proftpd-core/RELEASE_NOTES.gz
/usr/share/doc/proftpd-core/NEWS.Debian.gz
/usr/share/doc/proftpd-doc
/usr/share/doc/proftpd-doc/contrib
/usr/share/doc/proftpd-doc/contrib/mod_tls.html
/usr/share/doc/proftpd-doc/contrib/mod_quotatab_sql.html
/usr/share/doc/proftpd-doc/contrib/mod_dnsbl.html
/usr/share/doc/proftpd-doc/contrib/mod_quotatab.html
/usr/share/doc/proftpd-doc/contrib/mod_load.html
/usr/share/doc/proftpd-doc/contrib/mod_unique_id.html
/usr/share/doc/proftpd-doc/contrib/mod_ctrls_admin.html
/usr/share/doc/proftpd-doc/contrib/mod_readme.html
/usr/share/doc/proftpd-doc/contrib/mod_ifversion.html
/usr/share/doc/proftpd-doc/contrib/mod_ratio.html
/usr/share/doc/proftpd-doc/contrib/mod_sql_sqlite.html
/usr/share/doc/proftpd-doc/contrib/mod_rewrite.html
/usr/share/doc/proftpd-doc/contrib/mod_sql_passwd.html
/usr/share/doc/proftpd-doc/contrib/mod_quotatab_ldap.html
/usr/share/doc/proftpd-doc/contrib/mod_wrap2_file.html
/usr/share/doc/proftpd-doc/contrib/ftpmail.html
/usr/share/doc/proftpd-doc/contrib/mod_geoip.html
/usr/share/doc/proftpd-doc/contrib/mod_sql.html
/usr/share/doc/proftpd-doc/contrib/mod_auth_otp.html
/usr/share/doc/proftpd-doc/contrib/mod_deflate.html
/usr/share/doc/proftpd-doc/contrib/mod_sftp_pam.html
/usr/share/doc/proftpd-doc/contrib/mod_ldap.html
/usr/share/doc/proftpd-doc/contrib/mod_wrap.html
/usr/share/doc/proftpd-doc/contrib/mod_copy.html
/usr/share/doc/proftpd-doc/contrib/ftpquota.html
/usr/share/doc/proftpd-doc/contrib/mod_wrap2.html
/usr/share/doc/proftpd-doc/contrib/mod_ban.html
/usr/share/doc/proftpd-doc/contrib/mod_tls_memcache.html
/usr/share/doc/proftpd-doc/contrib/mod_dynmasq.html
/usr/share/doc/proftpd-doc/contrib/mod_snmp.html
/usr/share/doc/proftpd-doc/contrib/mod_radius.html
/usr/share/doc/proftpd-doc/contrib/mod_shaper.html
/usr/share/doc/proftpd-doc/contrib/mod_sql_odbc.html
/usr/share/doc/proftpd-doc/contrib/mod_wrap2_redis.html
/usr/share/doc/proftpd-doc/contrib/mod_quotatab_radius.html
/usr/share/doc/proftpd-doc/contrib/mod_tls_shmcache.html
/usr/share/doc/proftpd-doc/contrib/mod_wrap2_sql.html
/usr/share/doc/proftpd-doc/contrib/mod_digest.html
/usr/share/doc/proftpd-doc/contrib/mod_site_misc.html
/usr/share/doc/proftpd-doc/contrib/mod_ifsession.html
/usr/share/doc/proftpd-doc/contrib/mod_tls_fscache.html
/usr/share/doc/proftpd-doc/contrib/index.html
/usr/share/doc/proftpd-doc/contrib/mod_qos.html
/usr/share/doc/proftpd-doc/contrib/ftpasswd.html
/usr/share/doc/proftpd-doc/contrib/mod_sftp.html
/usr/share/doc/proftpd-doc/contrib/mod_tls_redis.html
/usr/share/doc/proftpd-doc/contrib/mod_log_forensic.html
/usr/share/doc/proftpd-doc/contrib/mod_sftp_sql.html
/usr/share/doc/proftpd-doc/contrib/mod_statcache.html
/usr/share/doc/proftpd-doc/contrib/mod_exec.html
/usr/share/doc/proftpd-doc/contrib/mod_quotatab_file.html
/usr/share/doc/proftpd-doc/changelog.Debian.gz
/usr/share/doc/proftpd-doc/NEWS.gz
/usr/share/doc/proftpd-doc/howto
/usr/share/doc/proftpd-doc/howto/BCP.html
/usr/share/doc/proftpd-doc/howto/DSO.html
/usr/share/doc/proftpd-doc/howto/ASCII.html
/usr/share/doc/proftpd-doc/howto/CreateHome.html
/usr/share/doc/proftpd-doc/howto/VirtualUsers.html
/usr/share/doc/proftpd-doc/howto/Testing.html
/usr/share/doc/proftpd-doc/howto/ECCN.html
/usr/share/doc/proftpd-doc/howto/FTP.html
/usr/share/doc/proftpd-doc/howto/Filters.html
/usr/share/doc/proftpd-doc/howto/Sendfile.html
/usr/share/doc/proftpd-doc/howto/LogLevels.html
/usr/share/doc/proftpd-doc/howto/ListOptions.html
/usr/share/doc/proftpd-doc/howto/Authentication.html
/usr/share/doc/proftpd-doc/howto/SQL.html
/usr/share/doc/proftpd-doc/howto/Timestamps.html
/usr/share/doc/proftpd-doc/howto/SSH.html
/usr/share/doc/proftpd-doc/howto/Compiling.html
/usr/share/doc/proftpd-doc/howto/Nonroot.html
/usr/share/doc/proftpd-doc/howto/Versioning.html
/usr/share/doc/proftpd-doc/howto/Memcache.html
/usr/share/doc/proftpd-doc/howto/Regex.html
/usr/share/doc/proftpd-doc/howto/TLS.html
/usr/share/doc/proftpd-doc/howto/Chroot.html
/usr/share/doc/proftpd-doc/howto/Umask.html
/usr/share/doc/proftpd-doc/howto/ConnectionACLs.html
/usr/share/doc/proftpd-doc/howto/FXP.html
/usr/share/doc/proftpd-doc/howto/ServerType.html
/usr/share/doc/proftpd-doc/howto/AuthFiles.html
/usr/share/doc/proftpd-doc/howto/Tracing.html
/usr/share/doc/proftpd-doc/howto/DisplayFiles.html
/usr/share/doc/proftpd-doc/howto/Logging.html
/usr/share/doc/proftpd-doc/howto/Radius.html
/usr/share/doc/proftpd-doc/howto/Classes.html
/usr/share/doc/proftpd-doc/howto/LogMessages.html
/usr/share/doc/proftpd-doc/howto/Scoreboard.html
/usr/share/doc/proftpd-doc/howto/ConfigFile.html
/usr/share/doc/proftpd-doc/howto/Redis.html
/usr/share/doc/proftpd-doc/howto/DNS.html
/usr/share/doc/proftpd-doc/howto/ConfigurationTricks.html
/usr/share/doc/proftpd-doc/howto/Vhost.html
/usr/share/doc/proftpd-doc/howto/index.html
/usr/share/doc/proftpd-doc/howto/ftpaccess.html
/usr/share/doc/proftpd-doc/howto/Directory.html
/usr/share/doc/proftpd-doc/howto/Globbing.html
/usr/share/doc/proftpd-doc/howto/Limit.html
/usr/share/doc/proftpd-doc/howto/KeepAlives.html
/usr/share/doc/proftpd-doc/howto/Controls.html
/usr/share/doc/proftpd-doc/howto/IPv6.html
/usr/share/doc/proftpd-doc/howto/Quotas.html
/usr/share/doc/proftpd-doc/howto/AWS.html
/usr/share/doc/proftpd-doc/howto/Debugging.html
/usr/share/doc/proftpd-doc/howto/Upgrade.html
/usr/share/doc/proftpd-doc/howto/NAT.html
/usr/share/doc/proftpd-doc/howto/Translations.html
/usr/share/doc/proftpd-doc/howto/Stopping.html
/usr/share/doc/proftpd-doc/howto/Rewrite.html
/usr/share/doc/proftpd-doc/faq.html
/usr/share/doc/proftpd-doc/misc
/usr/share/doc/proftpd-doc/misc/README.md.gz
/usr/share/doc/proftpd-doc/misc/README.modules.gz
/usr/share/doc/proftpd-doc/misc/README.LDAP.gz
/usr/share/doc/proftpd-doc/misc/README.ports
/usr/share/doc/proftpd-doc/misc/mod_mysql.txt
/usr/share/doc/proftpd-doc/misc/mod_pgsql.txt
/usr/share/doc/proftpd-doc/copyright
/usr/share/doc/proftpd-doc/changelog.gz
/usr/share/doc/proftpd-doc/CREDITS
/usr/share/doc/proftpd-doc/index.html
/usr/share/doc/proftpd-doc/examples
/usr/share/doc/proftpd-doc/examples/sample-configurations
/usr/share/doc/proftpd-doc/examples/sample-configurations/virtual.conf
/usr/share/doc/proftpd-doc/examples/sample-configurations/complex-virtual.conf
/usr/share/doc/proftpd-doc/examples/sample-configurations/PFTEST.install
/usr/share/doc/proftpd-doc/examples/sample-configurations/anonymous.conf
/usr/share/doc/proftpd-doc/examples/sample-configurations/PFTEST.passwd
/usr/share/doc/proftpd-doc/examples/sample-configurations/PFTEST.shadow
/usr/share/doc/proftpd-doc/examples/sample-configurations/mod_sql.conf
/usr/share/doc/proftpd-doc/examples/sample-configurations/basic.conf
/usr/share/doc/proftpd-doc/examples/sample-configurations/PFTEST.conf.in
/usr/share/doc/proftpd-doc/examples/sample-configurations/PFTEST.group
/usr/share/doc/proftpd-doc/RELEASE_NOTES.gz
/usr/share/doc/proftpd-doc/modules
/usr/share/doc/proftpd-doc/modules/mod_ctrls.html
/usr/share/doc/proftpd-doc/modules/mod_site.html
/usr/share/doc/proftpd-doc/modules/mod_xfer.html
/usr/share/doc/proftpd-doc/modules/mod_auth_unix.html
/usr/share/doc/proftpd-doc/modules/mod_auth_file.html
/usr/share/doc/proftpd-doc/modules/mod_memcache.html
/usr/share/doc/proftpd-doc/modules/mod_cap.html
/usr/share/doc/proftpd-doc/modules/mod_log.html
/usr/share/doc/proftpd-doc/modules/mod_dso.html
/usr/share/doc/proftpd-doc/modules/mod_delay.html
/usr/share/doc/proftpd-doc/modules/mod_auth_pam.html
/usr/share/doc/proftpd-doc/modules/mod_ls.html
/usr/share/doc/proftpd-doc/modules/mod_auth.html
/usr/share/doc/proftpd-doc/modules/mod_lang.html
/usr/share/doc/proftpd-doc/modules/index.html
/usr/share/doc/proftpd-doc/modules/mod_redis.html
/usr/share/doc/proftpd-doc/modules/mod_ident.html
/usr/share/doc/proftpd-doc/modules/mod_rlimit.html
/usr/share/doc/proftpd-doc/modules/mod_facl.html
/usr/share/doc/proftpd-doc/modules/mod_facts.html
/usr/share/doc/proftpd-doc/modules/mod_core.html
/usr/share/doc/proftpd-doc/directives
/usr/share/doc/proftpd-doc/directives/index.html
/usr/share/man/man5/proftpd.conf.5.gz
/usr/share/man/man8/proftpd.8.gz
/usr/share/proftpd
/usr/share/proftpd/templates
/usr/share/proftpd/templates/modules.conf
/usr/share/proftpd/templates/snmp.conf
/usr/share/proftpd/templates/proftpd.conf
/usr/share/proftpd/templates/tls.conf
/usr/share/proftpd/templates/sql.conf
/usr/share/proftpd/templates/geoip.conf
/usr/share/proftpd/templates/dnsbl.conf
/usr/share/proftpd/templates/sftp.conf
/usr/share/proftpd/templates/ldap.conf
/usr/share/proftpd/templates/welcome.msg
/usr/share/proftpd/templates/virtuals.conf
/usr/share/locale/zh_CN/LC_MESSAGES/proftpd.mo
/usr/share/locale/bg_BG/LC_MESSAGES/proftpd.mo
/usr/share/locale/ja_JP/LC_MESSAGES/proftpd.mo
/usr/share/locale/it_IT/LC_MESSAGES/proftpd.mo
/usr/share/locale/ko_KR/LC_MESSAGES/proftpd.mo
/usr/share/locale/es_ES/LC_MESSAGES/proftpd.mo
/usr/share/locale/ru_RU/LC_MESSAGES/proftpd.mo
/usr/share/locale/fr_FR/LC_MESSAGES/proftpd.mo
/usr/share/locale/zh_TW/LC_MESSAGES/proftpd.mo
/usr/share/locale/en_US/LC_MESSAGES/proftpd.mo
/var/lib/systemd/deb-systemd-helper-enabled/proftpd.socket.dsh-also
/var/lib/systemd/deb-systemd-helper-enabled/proftpd.service.dsh-also
/var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/proftpd.serv ice
/var/lib/dpkg/info/proftpd-core.preinst
/var/lib/dpkg/info/proftpd-core.md5sums
/var/lib/dpkg/info/proftpd-core.postinst
/var/lib/dpkg/info/proftpd-core.conffiles
/var/lib/dpkg/info/proftpd-core.list
/var/lib/dpkg/info/proftpd-doc.list
/var/lib/dpkg/info/proftpd-doc.md5sums
/var/lib/dpkg/info/proftpd-core.postrm
/var/lib/dpkg/info/proftpd-core.prerm
/var/cache/apt/archives/proftpd-core_1.3.8+dfsg-4+deb12u2_arm64.deb
/var/cache/apt/archives/proftpd-core_1.3.8+dfsg-4+deb12u3_arm64.deb
/var/cache/apt/archives/proftpd-doc_1.3.8+dfsg-4+deb12u2_all.deb
/var/cache/apt/archives/proftpd-doc_1.3.8+dfsg-4+deb12u3_all.deb
/var/log/proftpd
/var/log/proftpd/proftpd.log
/var/log/proftpd/xferlog
/var/log/proftpd/proftpd.log.2.gz
/var/log/proftpd/xferreport
/var/log/proftpd/proftpd.log.1
/var/log/proftpd/proftpd.log.3.gz
/var/log/proftpd/xferlog.1
/var/log/proftpd/controls.log
root@raspberrypi:/home/server# dpkg –force-all -r proftpd
dpkg: Warnung: Die Anforderung, proftpd zu entfernen, wird ignoriert; es ist nicht installiert
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# dpkg -r proftpd
dpkg: Warnung: Die Anforderung, proftpd zu entfernen, wird ignoriert; es ist nicht installiert
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get purge
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get purge proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get purge proftpd-basic
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Paket »proftpd-basic« ist nicht installiert, wird also auch nicht entfernt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get remove proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# apt-get purge proftpd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Hinweis: »proftpd-core« wird an Stelle von »proftpd« gewählt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 246 nicht aktualisiert.
root@raspberrypi:/home/server# sudo apt-get remove ProFTPd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
E: Paket ProFTPd kann nicht gefunden werden.
root@raspberrypi:/home/server# apt-get remove ProFTPd
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
E: Paket ProFTPd kann nicht gefunden werden.
root@raspberrypi:/home/server#