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 SuSEfirewall2

Ensuite, éditez le fichier de configuration ‘/etc/sysconfig/SuSEfirewall2’ avec vim :

vim /etc/sysconfig/SuSEfirewall2

Ajoutez 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 openssl

Ajoutez 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 ftpuser

Allez 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.conf

Changez la valeur à la ligne 81 en ‘yes’ pour désactiver l’utilisateur anonyme.

NoAnonymous                 yes

Dé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.pdb

Commentez la ligne PAMAuthentication pour désactiver l’authentification PAM à la ligne 141 car nous allons utiliser PureDB comme source d’authentification.

#PAMAuthentication             yes

Enregistrez 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 365

Changez les permissions du fichier de certificat à 0600 :

chmod 600 /etc/ssl/private/pure-ftpd.pem

Ensuite, 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.conf

Décommentez la ligne 439 pour activer TLS.

TLS                      1

Décommentez la ligne 449 et ajoutez une nouvelle option pour la rendre plus sécurisée.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

Décommentez la ligne 445 pour définir le fichier de certificat.

CertFile                 /etc/ssl/private/pure-ftpd.pem

Enregistrez 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/shiro

Cré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/shiro

Ensuite, nous devons enregistrer les modifications avec la commande ci-dessous :

pure-pw mkdb

Maintenant, 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” :

ftp

Ensuite, entrez l’IP du serveur pure-ftpd :

open 192.168.43.69

Connectez-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.png

Maintenant, vous verrez le fichier mypict.png sur le serveur avec la commande ls ci-dessous :

ls

Connexion FTP

Référence

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.