Serveur FTP · 4 min read · Dec 16, 2025
Comment installer Pure-FTPd avec TLS et utilisateurs virtuels sur OpenSUSE Leap 42.1
Pure-FTPd est un serveur FTP gratuit et léger basé sur Troll-FTPd, dont le développement a commencé en 2001 et qui fonctionne sur de nombreux systèmes d’exploitation de type Unix, y compris Linux, *BSD, Solaris et HP-UX. Pure-FTPd possède de nombreuses fonctionnalités telles que des domaines virtuels, un répertoire personnel chroot, des utilisateurs virtuels, un support TLS/SSL, un quota virtuel et bien plus encore.
Dans ce tutoriel, je vais vous montrer comment installer et configurer pure-ftpd sur OpenSUSE Leap 42.1. Je vais vous montrer comment configurer pure-ftpd avec TLS/SSL, puis configurer des utilisateurs virtuels.
Prérequis
- OpenSUSE Leap 42.1
- Privilèges root
- Connaissances OpenSUSE, Zypper
Étape 1 - Installer et configurer SuSEfirewall2
SuSEfirewall2 est un script pour générer la configuration du pare-feu dans le fichier ‘/etc/sysconfig/SuSEfirewall2’. Nous allons installer SuSEfirewall2, puis ouvrir les ports pour SSH et le service FTP.
Installez SuSEfirewall2 avec zypper :
zypper in SuSEfirewall2Ensuite, éditez le fichier de configuration ‘/etc/sysconfig/SuSEfirewall2’ avec vim :
vim /etc/sysconfig/SuSEfirewall2Ajoutez les nouveaux services ssh et FTP à la ligne 253 :
FW_SERVICES_EXT_TCP="ssh ftp"Enregistrez et quittez.
Maintenant, démarrez SuSEfirewall2 avec la commande systemctl :
systemctl start SuSEfirewall2Étape 2 - Installer et configurer Pure-FTPd
Dans cette étape, nous allons installer pure-ftpd avec OpenSSL pour la configuration TLS/SSL et configurer l’utilisateur et le groupe pure-ftpd.
Installez les applications avec zypper comme indiqué ci-dessous :
zypper in pure-ftpd opensslAjoutez maintenant le nouveau groupe ‘ftpgroup‘ et le nouvel utilisateur pour le maître ‘utilisateur FTP’ appelé ‘ftpuser‘ au groupe.
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuserAllez dans le répertoire pure-ftpd et éditez le fichier de configuration ‘pure-ftpd.conf’ avec l’éditeur vim :
cd /etc/pure-ftpd/
vim pure-ftpd.confChangez la valeur à la ligne 81 en ‘yes’ pour désactiver l’utilisateur anonyme.
NoAnonymous yesDécommentez la ligne 131 pour configurer le backend. Pure-ftpd prend en charge MySQL, PostgreSQL et LDAP comme backend, mais dans ce tutoriel, nous allons utiliser ‘PureDB’ comme backend.
PureDB /etc/pure-ftpd/pureftpd.pdbCommentez la ligne PAMAuthentication pour désactiver l’authentification PAM à la ligne 141 car nous allons utiliser PureDB comme source d’authentification.
#PAMAuthentication yesEnregistrez et quittez.
Étape 3 - Configurer TLS/SSL pour Pure-FTPd
Générez un nouveau fichier de certificat auto-signé dans le répertoire ‘/etc/ssl/private’ avec la commande openssl :
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365Changez les permissions du fichier de certificat à 0600 :
chmod 600 /etc/ssl/private/pure-ftpd.pemEnsuite, revenez au répertoire pure-ftpd et éditez le fichier de configuration pour activer le support TLS/SSL pour la connexion client.
cd /etc/pure-ftpd/
vim pure-ftpd.confDécommentez la ligne 439 pour activer TLS.
TLS 1Décommentez la ligne 449 et ajoutez une nouvelle option pour la rendre plus sécurisée.
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3Décommentez la ligne 445 pour définir le fichier de certificat.
CertFile /etc/ssl/private/pure-ftpd.pemEnregistrez et quittez.
Maintenant, démarrez pure-ftpd avec la commande systemctl :
systemctl start pure-ftpdÉtape 4 - Configurer des utilisateurs virtuels
Pure-FTPd fournit des fonctionnalités pour créer et utiliser des utilisateurs virtuels au lieu de véritables utilisateurs système (Linux). Pure-FTPd propose plusieurs backends d’authentification et la configuration des utilisateurs virtuels dépend du backend utilisé par le serveur. À l’étape 2, nous avons défini ‘PureDB’ comme backend.
Nous pouvons créer un nouvel utilisateur virtuel avec la commande ‘pure-pw’ fournie par pure-ftpd. Dans cette étape, nous allons créer un nouvel utilisateur virtuel nommé ‘shiro’ avec le répertoire ‘/srv/ftp/shiro’ comme répertoire personnel FTP et l’utilisateur est chrooté dans ce répertoire afin qu’il ne puisse pas accéder aux autres répertoires système.
Créez le nouvel utilisateur virtuel avec pure-pw :
pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiroCréez le répertoire pour l’utilisateur virtuel et changez le propriétaire de ce répertoire en maître ‘utilisateur FTP’.
mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiroEnsuite, nous devons enregistrer les modifications avec la commande ci-dessous :
pure-pw mkdbMaintenant, l’utilisateur shiro est prêt à être utilisé, nous pouvons utiliser FTP depuis la ligne de commande ou FileZilla pour l’interface graphique pour nous connecter au serveur.
Remarque :
pure-pw a plus d’options de commande, vous pouvez utiliser ‘pure-pw help‘ pour voir toutes les commandes utiles.
Étape 5 - Test
Je vais utiliser la commande FTP dans le terminal pour le test. Ouvrez votre terminal et tapez “ftp” :
ftpEnsuite, entrez l’IP du serveur pure-ftpd :
open 192.168.43.69Connectez-vous avec l’utilisateur ‘shiro’ et le mot de passe, puis appuyez sur ‘Entrée’.
Essayez de télécharger un fichier avec la commande ‘put’ :
put picture.png mypict.pngMaintenant, vous verrez le fichier mypict.png sur le serveur avec la commande ls ci-dessous :
ls
Référence
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.