Services et serveurs

vsftpd : Le fichier de configuration vsftpd.conf

Table des matières

Introduction



Cet article récapitule les options de configuration du fichier vsftpd.conf pour un serveur FTP sous Linux.

Articles associés






Fichier de configuration



Le fichier de configuration est situé dans /etc/vsftpd/vsftpd.conf.
Il existe aussi des fichiers spécifiques dans /etc/vsftpd/

Activer le FTP Anonyme



Pour activer le FTP anonyme, permettant d'accéder au FTP sans compte d'utilisateur, modifier :

Code BASH :
anonymous_enable=YES


L'arborescence est le contenu du dossier personnel de l'utilisateur ftp (Sur CentOS : /var/ftp)

Pour désactiver, mettre la valeur sur NO.

Définir les ports du mode passif



Pour fixer les ports du client dans le cas d'un mode passif :
Code BASH :
pasv_enable=YES
pasv_min_port=60000
pasv_max_port=60100


Le FTP pour les utilisateurs locaux



Activer la connexion



Attention, le FTP n'étant pas sécurisé, les informations transitent en clair.

Pour permettre aux utilisateurs locaux d'écrire dans leur espace personnel :
Code BASH :
local_enable=YES
write_enable=YES
local_umask=022


Avec cela, les utilisateurs peuvent remonter dans l'arborescence du système.

Emprisonner les utilisateurs dans leur dossier personnel



Pour les emprisonner dans leur /home, activer les options :

Code BASH :
chroot_local_user=NO
chroot_list_enable=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list


Créer le fichier /etc/vsftpd/chroot_list et indiquer (1 utilisateur par ligne) la liste des utilisateurs à chrooter.

Si la ligne chroot_local_user est à YES, tous les utilisateurs sont chrootés SAUF ceux de la liste.

La solution la plus sécure, est de retirer les droits du dossier chrooté de l'utilisateur et de créer un dossier dans lequel il a les droits d'écrire.

Exemple avec l'utilisateur adrien :
Code BASH :
mkdir /home/adrien/pub
chown -R adrien:adrien
chmod a-w /home/adrien


FTPS : Le FTP sur SSL



Pour configurer VSFTPD en utilisant FTPS (FTP sécurisé) avec un certificat voici comment procéder.

On doit d'abord posséder un certificat évidemment.
Si on en a pas on pourra en générer un "autosigné" avec la commande suivante :

Code BASH :
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem


On définit de bonnes permissions au fichier généré :
Code BASH :
chmod 600 /etc/vsftpd/vsftpd.pem


Et on ajoute ces options dans le fichier vsftpd.conf :

Code BASH :
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem


Troobleshooting



Connexion et actions lentes



Si vsftpd est lent à la connexion et que votre serveur n'utilise que l'IPv4n désactivez l'IPv6 sur le serveur et faites écouter vsftpd qu'en IPv4 :
Code BASH :
listen=YES
listen_ipv6=NO
Cette page a été vue 20039 fois