Installer et configurer un serveur FTP ProFTPD sous Linux

En bref :
- Installation sur Debian/Ubuntu :
sudo apt install proftpd(ouproftpd-coreselon la version), service géré parsystemctl. - Fichier principal :
/etc/proftpd/proftpd.conf; enfermez chaque utilisateur dans son dossier avecDefaultRoot ~. - Le FTP classique transmet les mots de passe en clair : activez FTPS (TLS) ou préférez SFTP via SSH.
ProFTPD est un serveur FTP libre, éprouvé et très configurable, dont la syntaxe rappelle celle d’Apache. Il reste utilisé pour échanger des fichiers avec des appareils ou des logiciels qui ne parlent que FTP (scanners, caméras, anciens systèmes). Voici comment l’installer, le configurer et le sécuriser.
Installation
- Mettez à jour les paquets :
sudo apt update. - Installez :
sudo apt install proftpd(sur certaines versions, le paquet s’appelleproftpd-coreouproftpd-basic). - Sur Fedora, RHEL ou Rocky :
sudo dnf install proftpd(dépôt EPEL). - Démarrez et activez au boot :
sudo systemctl enable --now proftpd. - Vérifiez :
systemctl status proftpd.
Les commandes de gestion
| Action | Commande |
|---|---|
| Démarrer / arrêter | sudo systemctl start|stop proftpd |
| Redémarrer | sudo systemctl restart proftpd |
| Recharger la configuration | sudo systemctl reload proftpd |
| Tester la configuration | sudo proftpd -t |
| Voir les connexions | ftpwho |
| Journaux | /var/log/proftpd/ |
La configuration de base
Dans /etc/proftpd/proftpd.conf, les directives essentielles :
ServerName "Mon serveur FTP": nom affiché.DefaultRoot ~: chaque utilisateur est enfermé dans son dossier personnel (chroot).RequireValidShell off: autorise des comptes FTP sans shell.PassivePorts 49152 49200: plage de ports passifs à ouvrir dans le pare-feu.MasqueradeAddress: votre IP publique si le serveur est derrière une box (NAT).MaxInstances 30: limite de connexions simultanées.- Désactivez l’accès anonyme (section
<Anonymous>commentée).
Après chaque modification : sudo proftpd -t puis sudo systemctl reload proftpd.
Créer un utilisateur FTP
sudo useradd -m -s /usr/sbin/nologin ftpclientsudo passwd ftpclient- Si nécessaire, ajoutez
/usr/sbin/nologinà/etc/shellsou gardezRequireValidShell off. - Limitez les utilisateurs autorisés avec une section
<Limit LOGIN>etAllowUser/DenyAll.
Sécuriser avec FTPS (TLS)
- Activez le module TLS : décommentez
Include /etc/proftpd/tls.confet chargezmod_tlsdansmodules.conf. - Dans
tls.conf:TLSEngine on,TLSRequired on, chemins du certificat et de la clé (Let’s Encrypt ou certificat auto-signé). - Rechargez et testez avec FileZilla en « FTP explicite sur TLS ».
FTP, FTPS ou SFTP ?
| Protocole | Chiffrement | Port | Usage conseillé |
|---|---|---|---|
| FTP | Aucun | 21 + passifs | Réseau local fermé, appareils anciens |
| FTPS | TLS | 21 + passifs | Compatibilité FTP avec sécurité |
| SFTP | SSH | 22 | Le plus simple et sûr sur Internet |
ProFTPD peut aussi servir du SFTP avec mod_sftp, mais OpenSSH suffit souvent.
Les problèmes fréquents
- Connexion OK mais liste des fichiers bloquée : ports passifs non ouverts ou MasqueradeAddress manquant.
- 530 Login incorrect : shell invalide, utilisateur non autorisé ou mot de passe.
- Service qui ne démarre pas : erreur de syntaxe ; lancez
proftpd -t.
Cas pratique : un scanner qui dépose ses fichiers
Un cabinet souhaite que son copieur dépose les numérisations sur un serveur Linux. L’administrateur installe ProFTPD, crée un utilisateur « scanner » sans shell enfermé dans son dossier, limite l’accès à l’IP du copieur et n’ouvre le port qu’au réseau local : simple et cloisonné.
À lire aussi : un serveur FTP sous Windows avec freeFTPd, ouvrir des ports sur un routeur, un NAS avec XigmaNAS et mettre à jour le noyau Linux.
Questions fréquentes
Qu’est-ce que ProFTPD ?
Un serveur FTP libre pour Linux et Unix, très configurable.
Où se trouve le fichier de configuration ?
Généralement dans /etc/proftpd/proftpd.conf.
Comment limiter un utilisateur à son dossier ?
Avec la directive DefaultRoot ~.
FTP est-il sûr ?
Non sans chiffrement ; utilisez FTPS ou SFTP sur Internet.



