Pure-FTPd est un serveur FTP sécurisé et facile à configurer. Une de ses fonctionnalités les plus utiles est la gestion des utilisateurs virtuels. Contrairement aux utilisateurs système, les utilisateurs virtuels n’existent que pour le service FTP. Ils sont stockés dans une base de données dédiée, ce qui permet de ne pas créer de vrais comptes sur le système d’exploitation et d’améliorer ainsi la sécurité.
Ce guide vous montrera comment configurer Pure-FTPd pour utiliser une base de données d’utilisateurs virtuels.
1. Fichiers des utilisateurs virtuels
La configuration des utilisateurs virtuels repose sur deux fichiers principaux, généralement situés dans /etc/pure-ftpd/
:
pureftpd.passwd
: Un fichier texte contenant les informations des utilisateurs dans un format lisible. C’est ce fichier que vous pouvez modifier manuellement si besoin.pureftpd.pdb
: La base de données binaire générée à partir du fichierpureftpd.passwd
. C’est ce fichier que Pure-FTPd utilise pour authentifier les utilisateurs.
Il est conseillé de sauvegarder régulièrement ces deux fichiers.
2. Configuration de Pure-FTPd
La configuration de Pure-FTPd se fait via des fichiers individuels dans le répertoire /etc/pure-ftpd/conf/
. Chaque fichier représente une option de configuration.
Par exemple, pour “chrooter” tous les utilisateurs (les confiner à leur répertoire personnel), on crée un fichier ChrootEveryone
avec la valeur yes
.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
Cette méthode ajoute le paramètre -A
à la commande de lancement de Pure-FTPd après rechargement. Pour découvrir toutes les options disponibles, consultez le manuel :
man pure-ftpd-wrapper
Faites attention à la casse lors de la création des fichiers de configuration.
3. Gestion des utilisateurs virtuels
La commande pure-pw
est l’outil principal pour gérer les utilisateurs virtuels.
Créer un utilisateur
Pour ajouter un nouvel utilisateur :
pure-pw useradd mon_utilisateur -u ftpuser -d /home/ftp/mon_utilisateur
mon_utilisateur
: Le nom de l’utilisateur virtuel.-u ftpuser
: Associe l’utilisateur virtuel à un utilisateur système réel (ftpuser
dans cet exemple). Les fichiers téléversés appartiendront àftpuser
.-d /home/ftp/mon_utilisateur
: Le répertoire personnel de l’utilisateur.
Note : Pour que le répertoire personnel soit créé automatiquement à la première connexion, assurez-vous que le fichier /etc/pure-ftpd/conf/CreateHomeDir
contienne yes
.
Modifier un utilisateur
Pour changer le mot de passe :
pure-pw passwd mon_utilisateur
Pour modifier les informations d’un utilisateur (par exemple, son répertoire) :
pure-pw usermod mon_utilisateur -d /home/ftp/un_autre_dossier
Mettre à jour la base de données
Important : Après chaque ajout ou modification d’utilisateur avec pure-pw
(ou en éditant pureftpd.passwd
), vous devez impérativement mettre à jour la base de données .pdb
:
pure-pw mkdb
4. Activer l’authentification par base de données
Pour que Pure-FTPd utilise notre base d’utilisateurs virtuels, il faut activer la méthode d’authentification PureDB
. Cela se fait en créant un lien symbolique dans le dossier /etc/pure-ftpd/auth/
.
cd /etc/pure-ftpd/auth/
ln -s ../conf/PureDB 50puredb
Le nom 50puredb
définit l’ordre de priorité. Les nombres les plus bas sont testés en premier.
5. Désactiver les autres authentifications (Optionnel)
Pour renforcer la sécurité, il est recommandé de désactiver les autres méthodes d’authentification, comme l’authentification des utilisateurs système via PAM. Pour ce faire, modifiez le fichier de configuration correspondant :
echo "no" > /etc/pure-ftpd/conf/PAMAuthentication
N’oubliez pas de recharger la configuration de Pure-FTPd pour que les changements soient pris en compte. La méthode varie selon votre système (ex: service pure-ftpd restart
ou systemctl restart pure-ftpd
).