Diese FAQ sind sinngemaess uebersetzt und zum Teil auch kurz erweitert worden. Die offiziellen FAQ findest Du unter ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-2.0.5/FAQ Kann ich User in ihrem $HOME einsperren? Ja. Du suchst wahrscheinlich folgende Konfigurationsvariable chroot_local_user=YES Wieso werden mit chroot_local_user=YES keine Symlinks verfolgt? Das liegt daran, wie chroot() funktioniert. Du kannst Hardlinks nutzen oder - sofern Dein System es unterstuetzt - mount --bind verwenden. Unterstuetzt vsftpd die Limitierung der Benutzerverbindungen? Ja; indirekt. vsftpd ist ein inetd-basierender Service. Wenn Du xinetd als inetd nutzt, kannst Du fuer jeden Dienst die Anzahl der Verbindungen pro IP limitieren.\Wenn Du vsftpd standalone gestartet hast (listen=YES), dann kannst Du max_clients=10 nutzen um maximal 10 Clients zuzulassen. Ich bekomme die Fehlermeldung 'refusing to run with writable anonymous root' Vsftpd ist gegen gefaehrliche Konfiguration geschuetzt. Die Ursache dieser Meldung ist gewoehnlich fehlerhafte Rechte des Homedirectorys von ftp. Das Homedirectory sollte nicht ftp selbst gehoeren oder von ihm beschreibbar sein. Eine Moeglichkeit das zu beheben ist chown root ~ftp chmod -w ~ftp Ich bekommen die Fehlermeldung "str_getpwnam". Das liegt meistens daran, dass der User nobody auf dem System nicht exisiert. vsftpd benoetigt diesen aber, damit er gestartet werden kann. Lokale User koennen sich nicht einloggen!? Das kann unterschiedliche Ursachen haben. vsftpd unterbindet per Default alle Logins; einzige Ausnahme ist der Login von anonymous. Schreib local_enable=YES in Deine /etc/vsftpd.conf um lokalen Usern den Login zu ermoeglichen. vsftpd versucht PAM zu nutzen. Starte ldd path/to/vsftpd und such nach libpam. Wenn vsftpd PAM benutzt, benoetigst Du eine PAM-Datei, welche fuer vsftpd gueltig ist. Eine Beispieldatei ist im Verzeichnis "RedHat" enthalten; kopiere die nach /etc/pam.d, starte vsftpd neu und versuche es erneut. Wenn vsftpd PAM nicht verwendet, gibt es ebenfalls mehrere Moeglichkeiten. Ist die Shell des ftp-Users in der Datei etcshells eingetragen? Wenn Du "shadowed" Passwoerter nutzt (was normalerweise der Regelfall ist), liegt die Datei shadow.h im INCLUDE-Pfad? Sobald PAM nicht genutzt wird, ueberprueft vsftpd die User-Shell in der Datei /etc/shell. Wenn Du das unterbinden willst, kannst Du check_shell=NO in der /etc/vsftpd.conf setzen. Uploads oder andere "Schreibkommandos" werden mit einem "500 Unknown command" erwidert! Per Default sind Schreibaktionen (Uploads und das Erstellen von neuen Verzeichnissen) nicht erlaubt. Wenn Du Schreibzugriffe erlauben willst, schreib write_enable=YES in die /etc/vsftpd.conf. Help! What are the security implications referred to in the "chroot_local_user" option? A) Firstly note that other ftp daemons have the same implications. It is a generic problem. The problem isn't too severe, but it is this: Some people have FTP user accounts which are not trusted to have full shell access. If these accounts can also upload files, there is a small risk. A bad user now has control of the filesystem root, which is their home directory. The ftp daemon might cause some config file to be read - e.g. etcsome_file. With chroot(), this file is now under the control of the user. vsftpd is careful in this area. But, the system's libc might want to open locale config files or other settings... Hochgeladene Dateien bekommen die Rechte -rw-------. Abhaengig davon welcher User die Datei(en) hochgeladen hat (Lokale User oder anonymous) kannst Du local_umask oder anon_umask anpassen um die Rechte zu aendern. anon_umask=022 aendert die Rechte von Dateien, die von "anonymen Usern" hochgeladen wurden zu -rw-r--r--. Die 0 vor der 22 ist wichtig! In der Manpage (vsftpd.conf.5) kannst Du auch den neu hinzugekommenen file_open_mode - Parameter einsetzen. Wie kann ist UserLogins mit LDAP einbinden? Verwende die PAM-Features von vsftpd. Kann ich mit vsftpd virtual Hosts konfigurieren? Ja. Wenn Du vsftpd mit xinetd einsetzt, kannst Du xinetd direkt dazu verwenden um mehrere verschiedene IP-Adressen zu nutzen. Fuer jede IP-Adresse kannst Du auch vsftpd eine eigene Konfigurationsdatei nutzen. Damit kannst Du fuer jeden Vhost ein anderes Setup verwenden. Alternativ dazu kannst Du vsftpd mehrmals starten; das funktioniert jedoch nur im standalone-Modus und Du musst mit listen_address=x.x.x.x die einzelnen virtuellen IP-Adressen angeben. Unterstuetzt vsftpd virtual User? Ja; mittels PAM. Setze guest_enable=YES in der etcvsftpd.conf. Das hat den Effekt, dass jeder erfolgreiche "nicht anonyme Login" dem lokalem Usernamen - welche mit guest_username gesetzt werden - gemappt wird. Dann kannst Du z. B. das PAM-Modul pam_userdb verwenden, damit eine eine beliebige Datei zu Authentifikation genutzt wird. Momentan ist eine Einschraenkung, dass mit guest_enable erlaubte lokale User zu guest_username gemappt werden. Eine Beispieldatei fuer ein "virtual User - Setup" ist im EXAMPLE - Verzeichnis enthalten. Unterstuetzt vsftpd unterschiedliche Konfiguration fuer verschiedene User? Ja; und zwar sehr umfangreich. Sieh Dir die Variable user_config_dir in der Manpage von vsftpd.conf an. Kann ich mit vsftpd Datenverbindungen auf einen bestimmten Portbereich einschraenken? Ja. Sieh Dir die Variablen pasv_min_port und pasv_max_port in der Manpage an. Ich bekommen die Fehlermeldung "OOPS: chdir" Wenn das das bei anonymen Logins auftrifft, sieh nach ob das Homedirectory fuer den User "ftp" korrekt ist. Wenn Du die Konfigurationsvariable anon_root gesetzt hast, ueberpruefe auch die. vsftpd zeigt GMT und nicht localtime an! Das kannst Du mit use_localtime=YES aendern. Kann ich bestimmte Kommandos verbieten? Ja. Entweder durch explizites setzen von Variablen (wie z. B. dirlist_enable oder durch Erlaube von bestimmten Kommandos mit der Variable cmds_allowed Kann ich den Port angeben, auf dem vsftpd laufen soll? Ja. Entweder mit listen_port=42 in der etcvsftpd.conf oder - wenn Du xinetd verwendest - durch Anpassen der /etc/xinetd.d/vsftpd. Kann man sich bei vsftpd an einem LDAP- oder MySQL-Server authentifizieren? Ja. Vsftp nutzt PAM fuer die Authentifikation; Du musst also die PAM-Module pam_ldap oder pam_mysql verwenden um das zu bewerkstelligen. Nachdem die Module installiert sind, musst Du wahrscheinlich noch die PAM-Konfiguration anpassen (meistens unter etc/pam.d/vsftpd zu finden). Unterstuetzt vsftpd Limits je IP? Ja. Wenn vsftpd standalone laeuft, kannst Du die Variable max_per_ip verwenden.Fuer den Fall das Du vsftpd ueber xinetd startest, kannst Du das direkt ueber xinetd realisieren. Verwende dazu die Variable per_source. Unterstuetzt vsftpd Bandbreitenbeschraenkung? Ja. Lies die Manpage vsftpd.conf(5) und such nach anon_max_rate undoder local_max_rate. Unterstuetzt vsftpd Zugriffsbeschraenkung pro IP? Ja. vsftpd kann mit tcp_wrappers genutzt werden (wenn er mit diesem Feature kompiliert wurde). Wenn das der Fall ist, schreibe tcp_wrappers=YES in die etcvsftpd.conf. Gleiches gilt auch in Verbindung mit xinetd. Kann vsftpd IPv6? Ya. Das ist seit Version 1.2.0 moeglich; lies vsftpd.conf(5). vsftpd laesst sich nicht kompilieren weil -lcap nicht gefunden wird! Das tritt meistens dann auf, wenn man Debian nutzt und vsftpd aus den Sourcen kompilieren will. Installiere lipbcap mit aptitude install libpcap Meine etcvsftpd.conf wird nicht abgearbeitet! Das trifft meistens RedHat-User; einige Versionen von RedHat nutzen die /etc/vsftpd/vsftpd.conf anstelle der /etc/vsftpd.conf (gleiches gilt auch bei Gentoo!). Q) Help! vsftpd doesn't build, it complains about problems with incomplete types in sysutil.c. A) Your system probably doesn't have IPv6 support. Either use a more modern system, use an older vsftpd (e.g. v1.1.3), or wait for a version of vsftpd without this problem! Ich bekomme die Fehlermeldung "500 OOPS: vsf_sysutil_bind" wenn ich versuche etwas herunterzuladen! Mit vsftpd ab Version 1.2.1 bekommst Du die nicht mehr. Kann ich bestimmte Dateien verstecken oder verbieten? Ja. Sieh Dir die Optionen hide_file und/oder deny_file in der Manpage an. Unterstuetzt vsftpd FPX? A) Yes. An FTP server does not have to do anything special to support FXP. However, you many get tripped up by vsftpd's security precautions on IP addresses. In order to relax these precautions, have a look in the vsftpd.conf.5 for pasv_promiscuous (and the less advisable port_promiscuous). Ich bekomme beim Download den Fehler "426 Failure writing network stream." Das sollte nicht der Fall sein wenn Du Version 1.2.1 oder aktueller verwendest. Aeltere Versionen von vsftpd geben diese Fehlermeldung meistens dann aus, wenn ein User etwas von einem ungewoehnlichem Dateisystem (FAT, ..) herunterladen will. Mit vsftpd-1.1.3 und neuer kannst Du dafuer die Variable use_sendfile=NO setzen. Logins haengen wenn ich pam_userdb verwende! lists.debian.org/debian-glibc/2003/debian-glibc-200309/msg00310.html Unterstuetzt vsftpd grosse Dateien (>2Gb)? Ja. "large file support" funktioniert aber trotzdem nicht! Das kann mehrere Gruende haben * Large file support ist erst ab Version 1.1.0 enthalten. * Solaris large file support funktioniert bis Version 1.2.2 nicht (gleiches trifft auch bei FreeBSD zu) * Die ersten Linux 2.6 - Kernel haben einen Bug in der Hinsicht. Nutze Linux 2.6.6 oder neuer. * Bist Du sicher das Dein FTP-Client large files unterstuetzt? Q) Help! The built-in vsftpd listener is hanging or crashing! A) A bug in this area is fixed in vsftpd v1.2.2. The problem has always existed but seems to frequently trigger only on certain platforms. For example, Fedora Core 1 - the suspected trigger is a glibc-2.3 platform, possibly in combination with a NPTL-enabled kernel. Unter Solaris / Veritas haengt sich vsftpd auf! Liegt schaetzungsweise an der Kombination Solaris / Veritas. Mit vsftpd-1.2.3 ist ein moeglicher Workaround das setzen von no_log_lock=YES. Unterstuetzt vsftpd SSL/TSL - Verschluesselung? Ja; seit Version 2.0.0. Du musst allerdings vsftpd mit diesen Features kompilieren und anschliessend auch noch aktivieren. Das geschieht ueber das Setzen von ssl_enable in der Konfigurationsdatei von vsftpd. Es gibt auch einiges, was Du hierbei beachten solltest. Lies Dir bitte die SSL-Settings in der Manpage vsftpd.conf(5) durch. Ich nutze FlashFXP und beim Download werden Dateien einfach abgeschnitten! FlashFPX ist fehlerhaft - besonders bei SSL-Uebertragungen. Update auf v3.0RC4 oder neuer. Dort sind die Fehler behoben. Beim Kompilieren bekomme ich die Meldung "krb5.h: no such file or directory". Sieht nach einem Problem mit RedHat aus. Sieh Dir bugzilla.redhat.com/bugzilla/show_bug.cgi?id=111301 fuer genauere Informationen durch. Ich bekomme die Meldung "OOPS: capset" wenn ich mich mit vsftpd verbinde! Das tritt hauptsaechlich bei SELinux auf; stell sicher das die Kernel-Module geladen sind. Ich bekomme die Meldung "ftp: netin: Interrupted system call". Sieht nach einem Bug in ftp-tls aus; besonders in Verbindung mit SSL-Verbindungen und Bandbreitenbeschaenkung. Bei SSL sind User nicht mehr in ihrem Homedirectory eingesperrt! Das liegt meistens daran, dass der FTP-*Client* das SSH-Protokoll anstelle des FTP-Protokolls nutzt; ergo sind die Einstellungen des sshd's und nicht die von vsftpd zutreffend. Blah.. blah.. Wenn Du wissen willst was vsftpd alles kann, lies die Manpage vsftpd.conf(5) und sieh Dir die Beispiele unter EXAMPLES an.