Guide technique — Administration système

Installation &
Configuration FTP

File Transfer Protocol avec Pure-FTPd — mise en place d'utilisateurs virtuels, configuration sécurisée et gestion des droits d'accès.

Auteur
EHAVOX
Mise à jour
05 / 01 / 2026
Système
Debian / Ubuntu
Sommaire
01

Installation du service Pure-FTPd

Ce guide utilise Pure-FTPd avec des utilisateurs virtuels — une approche plus sécurisée que les comptes système.

Sur Debian / Ubuntu, installez le paquet :

bash
sudo apt update
sudo apt install pure-ftpd

Vérifier que le service est actif :

bash
sudo systemctl status pure-ftpd
02

Fichier de configuration

Le répertoire de configuration principal se trouve ici :

path
/etc/pure-ftpd/conf/
Info
Chaque directive de configuration est un fichier distinct dans ce répertoire. Le nom du fichier est la directive, et son contenu est la valeur.

Créez les fichiers suivants avec les valeurs indiquées :

Fichier (directive) Valeur Description
ChrootEveryone yes Confine chaque utilisateur dans son répertoire
CreateHomeDir yes Crée automatiquement le dossier home à la connexion
PAMAuthentication no Désactive l'authentification PAM (utilise PureDB)
UnixAuthentication no Désactive l'authentification par comptes système
NoAnonymous yes Interdit les connexions anonymes
MaxClientsNumber 10 Nombre maximum de clients simultanés
MaxClientsPerIP 3 Maximum de connexions par adresse IP

Exemple — pour créer le fichier ChrootEveryone avec la valeur yes :

bash
echo "yes" | sudo tee /etc/pure-ftpd/conf/ChrootEveryone
03

Mise en place des utilisateurs virtuels

1 — Créer le groupe et l'utilisateur système dédiés :

bash
# Créer le groupe virtuel (GID 6262, modifiable)
sudo groupadd --gid 6262 ftpGroup

# Créer l'utilisateur système de mapping (sans shell ni home réel)
sudo useradd -u 6262 -g ftpGroup -d /dev/null -s /bin/false ftpUser

2 — Préparer le répertoire racine FTP et le lien symbolique :

bash
# Répertoire parent pour tous les dossiers d'utilisateurs virtuels
sudo mkdir /home/FTP

# Lien symbolique pour activer l'authentification PureDB via PAM
sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/75pureDB

3 — Créer le premier utilisateur virtuel :

bash
# "u1" = nom de l'utilisateur virtuel, à personnaliser
sudo pure-pw useradd "u1" -u ftpUser -d /home/FTP/u1 -m
Info
Le flag -m met à jour automatiquement la base de données PureDB après création. Le répertoire /home/FTP/u1 sera créé automatiquement à la première connexion grâce à la directive CreateHomeDir yes.
04

Astuces & Sécurisation

  • Pour créer des utilisateurs avec des droits d'accès spécifiques (lecture seule, quota, etc.), consultez la documentation officielle Pure-FTPd sur les utilisateurs virtuels.
  • Utilisez FTPS (FTP over TLS) en créant un certificat SSL pour chiffrer les transferts — évitez FTP en clair sur un réseau non sécurisé.
  • Combinez avec Fail2ban pour bloquer les tentatives d'authentification répétées sur le port FTP.
  • Définissez des quotas disque par utilisateur pour éviter la saturation du stockage.