doganddev
Accueil Blog Boutique

Créer un utilisateur FTP

DOG&DEV · 25/01/2025

Failles & Patches Gestion de Projet IT Sécurité FTP SFTP
Créer un utilisateur FTP

Créer un utilisateur FTP

Ce guide décrit la création d’un utilisateur FTP dans différents contextes : vsftpd (Linux), FileZilla Server (Windows), et les panels Plesk et Froxlor. Sont abordés le chroot (enfermement dans un répertoire), l’accès limité, les différences FTP vs SFTP et des bonnes pratiques.

Prérequis

  • Serveur avec FTP (vsftpd, FileZilla Server) ou Plesk / Froxlor installés
  • Droits root / admin ou accès au panel
  • Décision : FTP (port 21) ou SFTP (SSH, port 22) — SFTP recommandé pour la sécurité

FTP vs SFTP

  • FTP : protocole non chiffré (port 21). À utiliser uniquement si contraint (legacy). Préférer FTPS (FTP over TLS) ou SFTP.
  • SFTP (SSH File Transfer Protocol) : basé sur SSH (port 22), chiffré. Souvent plus simple : un compte système + clés SSH ou mot de passe ; pas de serveur FTP séparé. Voir ssh-linux, use-ssh-linux.

Si vous avez le choix, SFTP est préférable. Les sections suivantes décrivent FTP « classique » et l’équivalent SFTP (compte système).

vsftpd (Linux)

Installation

sudo apt install vsftpd

Compte dédié et chroot

  • Créer un utilisateur sans shell de connexion (accès FTP uniquement) :
sudo useradd -m -d /home/ftpuser -s /usr/sbin/nologin ftpuser
sudo passwd ftpuser
  • chroot : dans /etc/vsftpd.conf (ou include) :
chroot_local_user=YES
allow_writeable_chroot=YES
local_enable=YES
write_enable=YES
  • allow_writeable_chroot=YES : nécessaire si le répertoire de l’utilisateur est inscriptible (à combiner avec des permissions restrictives). Sinon, un répertoire en écriture dans le chroot (ex. /home/ftpuser/upload) avec chroot_local_user=YES est une alternative.

  • Redémarrer : sudo systemctl restart vsftpd.

  • Pare-feu : ouvrir 21 (FTP) et, en mode passif, la plage configurée (ex. 49152:65535). Pour éviter la complexité, SFTP (port 22) est souvent préférable.

FileZilla Server (Windows)

  • Installer FileZilla Server. Dans l’interface : EditUsersAdd : ftpuser.
  • Shared folders : ajouter le dossier (ex. C:\FTP\ftpuser) avec droits Read/Write (ou limités).
  • Limit user to its home directory : équivalent chroot — activer.
  • Password : définir un mot de passe.
  • Pare-feu : 21 (TCP), et plage passive si utilisée.

Plesk

  • Domainesdomaine.comAccès à l’hébergement / FTP : créer un compte FTP (identifiant, mot de passe, répertoire de base). Le répertoire de base joue le rôle de chroot.
  • SFTP : utiliser le compte système du domaine (ou un sous-domaine) et se connecter en SFTP (port 22) avec les identifiants. Voir plesk-email, plesk-config-domaine.

Froxlor

  • ClientsDomainesFTP : créer un compte FTP lié au domaine, répertoire de base, quota. Chroot géré par Froxlor/ProFTPD.
  • SFTP : compte système (SSH) si activé. Voir froxlor-linux.

Bonnes pratiques

  • Chroot : limiter l’utilisateur à son répertoire.
  • Mot de passe fort ; éviter FTP pur sur Internet ; privilégier SFTP ou FTPS.
  • Restriction par IP (pare-feu, fail2ban) si possible.
  • Pour Plesk et mail : plesk-email. Pour Froxlor : froxlor-linux.

Ressources


Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.

Commentaires (0)

Laisser un commentaire