Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
vsftpd [2025/05/24 11:13] jango [Benutzer auf Homeverzeichnis beschränken] |
vsftpd [2025/06/22 21:32] (aktuell) 20.171.207.112 ↷ Links angepasst, weil Seiten im Wiki verschoben wurden |
||
|---|---|---|---|
| Zeile 14: | Zeile 14: | ||
| local_enable=YES # Nutze lokale User | local_enable=YES # Nutze lokale User | ||
| write_enable=YES # Globales Schreiben erlauben, granularere Rechte via file system | write_enable=YES # Globales Schreiben erlauben, granularere Rechte via file system | ||
| + | chroot_local_user=YES # Benutzer auf Homeverzeichnis beschränken | ||
| + | local_umask=022 # uploaded files readable via http | ||
| </ | </ | ||
| + | |||
| =====Benutzer===== | =====Benutzer===== | ||
| - | ====Bestimmte Nutzer erlauben==== | + | ====Whitelist==== |
| Um nur bestimmten Benutzern den Login via FTP zu erlauben, müssen folgende Optionen gesetzt werden: | Um nur bestimmten Benutzern den Login via FTP zu erlauben, müssen folgende Optionen gesetzt werden: | ||
| < | < | ||
| Zeile 27: | Zeile 30: | ||
| vsftpd.user_list dient nur dazu, die Liste der lokalen User einzuschränken, | vsftpd.user_list dient nur dazu, die Liste der lokalen User einzuschränken, | ||
| - | ====Bestimmte Nutzer verbieten==== | + | ====Blacklist==== |
| Um bestimmten Benutzern den Login via FTP zu verbieten, müssen folgende Optionen gesetzt werden (In diesem Fall wird den restlichen Benutzern der Login gewährt): | Um bestimmten Benutzern den Login via FTP zu verbieten, müssen folgende Optionen gesetzt werden (In diesem Fall wird den restlichen Benutzern der Login gewährt): | ||
| Zeile 44: | Zeile 47: | ||
| </ | </ | ||
| - | ====Chroot==== | + | ====No Shell Access==== |
| - | Die letzte wichtige Option wäre es, die lokalen | + | Möchte man nicht, dass die Benutzer |
| < | < | ||
| - | chroot_local_user=YES | + | user: |
| </ | </ | ||
| + | |||
| + | Wenn es danach Probleme beim FTP-Login geben sollte (530 Login incorrect), liegt das daran, dass /bin/false nicht als Shell im System hinterlegt ist. Dann muss die Shell noch in die Datei /etc/shells eingetragen werden. | ||
| + | =====Zertifikat===== | ||
| + | |||
| + | < | ||
| + | sudo openssl req -x509 -nodes -days 365 -newkey rsa: | ||
| + | </ | ||
| + | |||
| + | =====Logs===== | ||
| + | |||
| + | < | ||
| + | sudo tail -f / | ||
| + | </ | ||
| + | |||
| + | =====User homepage===== | ||
| + | |||
| + | [[apache2]] und mod_userdir installieren. Geht auch mit [[Nginx]]. | ||
| + | < | ||
| + | apt install apache2 | ||
| + | a2enmod userdir | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | local_umask=022 # uploaded files readable via http | ||
| + | </ | ||
| + | |||
| =====Beispiel===== | =====Beispiel===== | ||
| Zeile 107: | Zeile 136: | ||
| + | |||
| + | =====Hosting===== | ||
| + | |||
| + | < | ||
| + | apt install vsftpd | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # / | ||
| + | |||
| + | local_enable=YES | ||
| + | write_enable=YES | ||
| + | local_umask=022 | ||
| + | chroot_local_user=YES | ||
| + | allow_writeable_chroot=YES | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | adduser uploaduser | ||
| + | |||
| + | mkdir -p / | ||
| + | chmod 755 / | ||
| + | chmod 755 / | ||
| + | |||
| + | chown -R uploaduser: | ||
| + | |||
| + | # echo "It works!" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | docker run -dit -p 8001:80 -v / | ||
| + | </ | ||
| =====Links===== | =====Links===== | ||
| + | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||