Services et serveurs

vsftpd : Le fichier de configuration vsftpd.conf

Cet article a été mis à jour, vous consultez ici une archive de cet article!
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.

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