Linux - Gentoo - Installation et configuration de VSFTPD

Décembre 2016

VSFTPD est un serveur FTP simple d’installation et très facile à utiliser.

Installation et mise en place


Pour l’installer sous Gentoo, il faut lancer la commande :
emerge vsftpd

Une fois installé, il est possible de lancer le Daemon via /etc/init.d/vsftpd start
Et de le programmer au démarrage de votre machine via rc-update add vsftpd default.

Configuration


La configuration de vsftpd passe essentiellement par la modification des paramètres présents dans le fichier /etc/vsftpd/vsftpd.conf (un fichier vsftpd.conf.sample est fourni en exemple dans le même répertoire).

Configuration de l’utilisation de ssl


Pour configurer l’utilisation de ssl, il faut générer un certificat ssl comme suit :
/etc/ssl/certs/openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
  -keyout /etc/ssl/certs/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem

Il faut suivre attentivement les étapes de génération de certificat en fournissant les informations nécessaires.
Il faut ensuite reprendre la configuration du fichier /etc/vsftpd/vsftpd.conf en y intégrant les paramètres suivants :
#Activation de ssl
ssl_enable=YES

#Choisir d’activer ou non l’accès en anonyme via ssl
# allow_anon_ssl=NO

#Ce paramètre doit être activé pour faire fonctionner ssl
ssl_tlsv1=YES

#Paramètres facultatifs
force_local_logins_ssl=YES
ssl_sslv2=YES
ssl_sslv3=YES

#Donner le chemin vers les fichiers *.pem générésrsa_cert_file=/etc/ssl/certs/vsftpd.pem
#les fichiers *.pem contiennent les clés ainsi que les certificatsrsa_private_key_file=/etc/ssl/certs/vsftpd.pem

Gestion des utilisateurs virtuels avec authentification PAM


Il faut :
  • Créer au niveau /etc/vsftpd/ un fichier texte utilisateurs.txt contenant la liste des utilisateurs à créer avec leurs mots de passe ayant la structure suivante :

Utilisateur1
Mot de passe1
Utilisateur2
Mot de passe2
…
UtilisateurX
Mot de passeX

A noter qu’il faut finir le fichier avec un retour à la ligne.
  • Générer la base de données des utilisateurs à partir de ce fichier

DbX.Y_load -T -t hash -f /etc/vsftpd/utilisateurs.txt /etc/vsftpd/utilisateurs.db

A noter qu’il faut installer la bibliothèque dbX-util via la commande
emerge db
ou X.Y est la version.
  • il faut ensuite protéger la base de données

chmod 600 /etc/vsftpd/utilisateurs.db
  • Ajouter au fichier /etc/pam.d/vsftpd (à créer s’il n’existe pas) les deux lignes

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/utilisateurs
account required /lib/security/pam_userdb.so db=/etc/vsftpd/utilisateurs

A noter qu’il faut installer si ce n’est déjà fait la bibliothèque pam_userdb via la commande
emerge pam_userdb
.
Pour identifier les utilisateurs en utilisant le fichier /etc/passwd et avec la base de données PAM, il faut injecter les lignes suivantes :
auth sufficient pam_unix.so
account sufficient pam_unix.so
  • Editer le fichier vsftpd.conf pour y ajouter les paramètres :

local_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser

A noter que les utilisateurs virtuels ont les mêmes privilèges que les utilisateurs anonymes. Pour qu'ils aient accès en écriture au dossier partagé, en plus de l'option
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

A voir également :

Ce document intitulé «  Linux - Gentoo - Installation et configuration de VSFTPD  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.