{{tag>Logiciel}} ====== vsftpd FAQ (traduction de questions fréquemment posées) ====== ~~FAQ~~ ??? Puis-je restreindre les utilisateurs à leur répertoire HOME ? !!! Oui. Sans doute en utilisant :chroot_local_user=YES ??? Pourquoi les liens symboliques ne fonctionnent-ils pas avec chroot_local_user=YES ? !!! C'est une conséquence du fonctionnement de la sécurité de chroot() . Comme alternative, voir les liens en dur, ou le puissant USER@MACHINE:~$ mount --bind ??? vsftpd peut-il limiter le nombre d'utilisateurs connectés ? !!! Oui, indirectement. vsftpd est un service basé sur inetd. Si vous utilisez le populaire "xinetd" la "xinetd" populaire comme inetd, il supporte les limites de connexion par service ou par IP. Il y a un exemple dans le répertoire "EXAMPLE". Si vous exécutez vsftpd en mode "standalone" avec le réglage listen=YES, alors vous disposez du réglage (par ex.) :max_clients=10 ??? message d'erreur "refusing to run with writable root". !!! vsftpd se protège contre les configurations dangereuses. La cause de ce message est généralement une appartenance douteuse du répertoire home du ftp. Le répertoire home ne doit PAS être possédé par l'utilisateur ftp lui-même. Il ne doit pas non plus être accessible en écriture par l'utilisateur ftp. Une façon de résoudre ce problème est :USER@MACHINE:~$ chown root ~ftp; chmod -w ~ftpUne autre cause pourrait être un essai d'utiliser chroot_local_user sans avoir réglé correctement le propriétaire du répertoire. ??? message d'erreur "str_getpwnam". !!! Le plus probable est que l'utilisateur configuré pour le paramètre "nopriv_user" (souvent "nobody") n'existe pas sur votre système. vsftpd nécessite cet utilisateur pour exécuter des éléments sans privilèges. ??? Les utilisateurs locaux ne peuvent pas se connecter. !!! Plusieurs problèmes peuvent se poser. !!! Par défaut, vsftpd désactive toutes les connexions autres que les connexions anonymes. Mettez local_enable=YES dans votre fichier /etc/vsftpd.conf pour permettre aux utilisateurs locaux de se connecter. !!! vsftpd essaie de se lier à PAM. (Exécutez "ldd vsftpd" et recherchez libpam pour savoir si c'est le cas ou non). Si vsftpd se lie à PAM, vous devrez alors installer un fichier PAM pour le service vsftpd. Un exemple de fichier pour les systèmes RedHat est inclus dans le répertoire "RedHat" - placez-le sous /etc/pam.d !!! Si vsftpd n'est pas lié à PAM, il y a plusieurs problèmes possibles. Le shell de l'utilisateur se trouve-t-il dans /etc/shells ? Si les mots de passe sont masqués, votre système a-t-il un fichier "shadow.h" dans le chemin include ? !!! Si vous n'utilisez pas PAM, vsftpd vérifiera lui-même si le shell de l'utilisateur est valide dans /etc/shells. Vous devrez peut-être désactiver cette vérification si vous utilisez un shell invalide pour désactiver les connexions autres que les connexions FTP. Mettez check_shell=NO dans votre fichier /etc/vsftpd.conf. ??? Les téléchargements ou autres commandes d'écriture me donnent "500 Unknown command". !!! Par défaut, les commandes d'écriture, y compris les téléchargements et les nouveaux répertoires, sont désactivées. C'est une mesure de sécurité. Pour activer les écritures, mettez write_enable=YES dans votre fichier /etc/vsftpd.conf. ??? Quelles sont les conséquences en matière de sécurité de l'option "chroot_local_user" ? !!! Notez tout d'abord que d'autres démons FTP ont les mêmes conséquences. C'est un problème générique. Ce problème n'est pas très grave, il est le suivant : Certaines personnes ont des comptes d'utilisateurs FTP qui ne sont pas autorisés à avoir un accès complet à l'interpréteur de commandes. Si ces comptes peuvent également télécharger des fichiers, il y a un léger risque. Un mauvais utilisateur a maintenant le contrôle de la racine du système de fichiers, qui est son répertoire personnel. Le démon FTP peut entraîner la lecture d'un fichier de configuration - par exemple /etc/some_file. Avec chroot(), ce fichier est maintenant sous le contrôle de l'utilisateur. vsftpd est prudent dans ce domaine. Mais la librairie du système peut vouloir ouvrir les fichiers de configuration des paramètres linguistiques ou d'autres paramètres... ??? Les fichiers téléchargés apparaissent avec les permissions -rw-------. !!! Selon que l'envoi est effectué par un utilisateur local ou anonyme, utilisez "local_umask" ou "anon_umask" pour modifier ce paramètre. Par exemple, utilisez "anon_umask=022" pour donner aux fichiers téléchargés anonymement les permissions -rw-r--r--. Notez que le "0" avant le "22" est important. !!! Voir aussi la page de manuel vsftpd.conf.5 pour le nouveau paramètre "file_open_mode". ??? Comment intégrer les utilisateurs et les identifiants LDAP ? !!! Utilisez l'intégration PAM de vsftpd pour ce faire, et demandez à PAM de s'authentifier auprès d'un référentiel LDAP. ??? Est-ce que vsftpd fait des hébergements virtuels ? !!! Oui. En intégrant vsftpd à xinetd, vous pouvez utiliser xinetd pour vous lier à plusieurs adresses IP différentes. Pour chaque adresse IP, xinetd doit lancer vsftpd avec un fichier de configuration différent. De cette manière, vous pouvez obtenir un comportement différent pour chaque adresse virtuelle. !!! Vous pouvez également exécuter autant de copies de vsftpd que nécessaire, en mode autonome. Utilisez "listen_address=x.x.x.x" pour définir l'IP virtuelle. ??? vsftpd supporte-t-il les utilisateurs virtuels ? !!! Oui, via l'intégration PAM. Définissez "guest_enable=YES" dans /etc/vsftpd.conf. Cela a pour effet de faire correspondre chaque connexion réussie non anonyme au nom d'utilisateur local spécifié dans "guest_username". Ensuite, utilisez PAM et (par exemple) son module pam_userdb pour fournir une authentification par rapport à un référentiel externe (c'est-à-dire non-etc/passwd) d'utilisateurs. Note - il existe actuellement une restriction qui fait que lorsque guest_enable est activé, les utilisateurs locaux sont également mappés sur guest_username. Il existe un exemple de configuration d'utilisateurs virtuels dans le répertoire "EXAMPLE". ??? Vsftpd prend-il en charge différents paramètres pour différents utilisateurs ? !!! Oui - d'une manière très puissante. Regardez le paramètre "user_config_dir" dans la page de manuel. ??? Peut-on restreindre les connexions de données de vsftpd à une plage spécifique de ports ? !!! Oui, voir les paramètres de configuration "pasv_min_port" et "pasv_max_port". ??? Je reçois le message "OOPS: chdir". !!! S'il s'agit d'une connexion anonyme, vérifiez que le répertoire personnel de l'utilisateur "ftp" est correct. Si vous utilisez le paramètre de configuration "anon_root", vérifiez qu'il est également correct. ??? vsftpd indique les heures en heures GMT et non en heures locales ! !!! Ce comportement peut être modifié par le paramètre "use_localtime=YES". ??? Puis-je désactiver certaines commandes FTP ? !!! Oui. Certains paramètres individuels sont disponibles (par exemple, dirlist_enable) mais vous pouvez également spécifier un ensemble complet de commandes autorisées à l'aide de "cmds_allowed". ??? Puis-je changer le port sur lequel fonctionne vsftpd ? !!! Oui, si vous utilisez vsftpd en mode autonome, utilisez la directive "listen_port" dans vsftpd.conf. !!! Oui. Si vous exécutez vsftpd à partir d'un programme inetd ou xinetd, cela devient un problème inetd ou xinetd. Vous devez modifier les fichiers de configuration inetd ou xinetd (peut-être /etc/inetd.conf ou /etc/xinetd.d/vsftpd). ??? Will vsftpd authenticate against an LDAP server? What about a MySQL server? !!! Yes. vsftpd uses PAM for authentication, so you need to configure PAM to use pam_ldap or pam_mysql modules. This may involve installing the PAM modules and then editing the PAM config file (perhaps /etc/pam.d/vsftpd). ??? Does vsftpd support per-IP limits? !!! Yes. If you are running vsftpd standalone, there is a "max_per_ip" setting. !!! Yes. If you are running vsftpd via xinetd, there is an xinetd config variable "per_source". ??? Does vsftpd support bandwidth limiting? !!! Yes. See vsftpd.conf.5 man page and investigate settings such as "anon_max_rate" and "local_max_rate". ??? Does vsftpd support IP-based access control? !!! Yes. vsftpd can integrate with tcp_wrappers (if built with this support). It is enabled with the setting "tcp_wrappers=YES". !!! Yes. vsftpd can be run from xinetd, which supports tcp_wrappers integration. ??? Does vsftpd support IPv6? !!! Yes, as of version 1.2.0. Read the vsftpd.conf.5 man page. ??? vsftpd doesn't build, it fails with an error about being unable to find - !!! Install the libcap package and retry the build. Seems to affect Debian users a lot. !!! Install the libcap-devel. This certainly affects Fedora. ??? I've put settings in /etc/vsftpd.conf, but they are not taking effect! !!! This is affecting some RedHat users - some RedHat versions put the config file in /etc/vsftpd/vsftpd.conf. ??? vsftpd doesn't build, it complains about problems with incomplete types in sysutil.c. !!! 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! ??? I'm getting messages along the lines of 500 OOPS: vsf_sysutil_bind when trying to do downloads (particularly lots of small files). !!! vsftpd-1.2.1 should sort this out. ??? Does vsftpd support hiding or denying certain files? !!! Yes. Look at the hide_file and deny_file options in the manual page. ??? Does vsftpd support FXP? !!! 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). ??? I'm getting the error "426 Failure writing network stream." on downloads. !!! You shouldn't see this with v1.2.1 or newer versions of vsftpd. Older versions of vsftpd can give this error if the user tries to download something from an unusual filesystem (e.g. FAT), which don't support performance features used by vsftpd. With vsftpd-1.1.3 and newer there is a config workaround, use_sendfile=NO. ??? I'm using the pam_userdb login module and the login hangs. !!! This could be a bad interaction with glibc version 2.3 and PAM. A Debian user reported this. The initial report is here: http://lists.debian.org/debian-glibc/2003/debian-glibc-200309/msg00310.html ??? Does vsftpd support large files (>2Gb?). !!! Yes, it does. ??? Well, large file support doesn't seem to be working, then! !!! Large file support first appeared in v1.1.0. !!! Solaris large file support wasn't fixed until v1.2.2. !!! FreeBSD large file support wasn't fixed until v1.2.2. !!! The early Linux 2.6 kernels had a bug in this area - use v2.6.6 or newer. !!! Are you sure your FTP _client_ correctly supports large files? ??? The built-in vsftpd listener is hanging or crashing! !!! 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. ??? I'm using Solaris / Veritas and vsftpd is hanging! !!! Suspected bug with the Solaris / Veritas combination. With vsftpd-1.2.3 there is a possible workaround: no_log_lock=YES in your vsftpd.conf.5. ??? Does vsftpd support SSL / TLS based encryption? !!! Yes, as of v2.0.0, this is supported for the control and data connections (hurrah). You need a build of vsftpd with this support enabled, and then you need to activate the ssl_enable setting. NOTE there are security considerations with this support. Please make sure to read the ssl_enable section in the vsftpd.conf.5 man page thoroughly before using. ??? I'm using FlashFXP and getting truncated files on download. !!! FlashFXP is buggy - particularly with SSL transfers. Upgrade to v3.0RC4 or newer, which is reported to be fixed. ??? I'm trying to build vsftpd, and I get an error along the lines of "krb5.h: no such file or directory". !!! Yes, seems to be a problem with some RedHat setups. See http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=111301 for details and suggested workarounds. ??? I'm getting the error "OOPS: capset" when I try to connect to vsftpd. !!! This is an issue with SELinux enabled distributions. The solution is to make sure the capability kernel module is loaded. ??? I'm getting the error "ftp: netin: Interrupted system call". !!! Seems to be a bug in ftp-tls, particularly with SSL transfers with bandwidth limiting in effect. ??? When trying SSL transfers, users log in and are no longer restricted to their home directory! They can browse the entire filesystem! !!! Most likely, your FTP client is in fact using the SSH protocol rather than the FTP protocol - so sshd is in control and not vsftpd! !!! Of course, make sure you turn on the chroot_local_user option!! ??? I'm getting connections dropped whilst using gFTP for an SSL !!! The version of gFTP on my Fedora Core 10 installation appears to send the "SIZE" command plain text during an SSL connection, which obviously breaks the SSL connection. ??? SSL data connections are not working. !!! As of v2.1.0, vsftpd only accepts data connections that are reused sessions of the control connection. This is a security measure. Unfortunately, not all FTP clients reuse sessions (e.g. curl). You can disable this requirement by changing require_ssl_reuse to NO. ??? My LDAP / mysql / etc. authentication and / or username lookup are failing! !!! As of v2.2.0, the built-in sandboxing uses network isolation on Linux. This may be interfering with any module that needs to use the network to perform operations or lookups. Try changing isolate_network to NO. ===== Voir aussi ===== * **(fr)** [[http://Article|Article]] * **(en)** [[http://Article|Article]] ---- //Basé sur << [[http://Article|Article]] >> par Auteur.//