Tous les produits
Search
Centre de documentation

Simple Application Server:Configurer un serveur FTP (Linux)

Dernière mise à jour :Aug 18, 2026

Very Secure FTP Daemon (vsftpd) est un serveur FTP léger pour Linux. Cette rubrique explique comment installer et configurer vsftpd sur un Simple Application Server sous Linux, puis vérifier la connexion à l'aide de FileZilla.

Remarque

Le protocole FTP transmet les données, y compris les identifiants, en texte clair. Pour les charges de travail de production nécessitant un chiffrement, privilégiez SFTP ou FTPS. Ce guide couvre l'utilisation de vsftpd uniquement lorsque le protocole FTP est une exigence spécifique.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Modes de connexion et d'authentification FTP

Le protocole FTP fonctionne selon deux modes de connexion :

  • Mode actif : le client envoie ses informations de port au serveur, et le serveur initie la connexion de données.

  • Mode passif : le serveur ouvre un port et envoie les informations de port au client, qui initie ensuite la connexion. Ce guide configure le mode passif, plus adapté aux environnements protégés par des pare-feu et des NAT.

Le protocole FTP prend en charge trois modes d'authentification :

Mode Sécurité Description
Mode utilisateur anonyme La plus faible Aucun nom d'utilisateur ni mot de passe requis. Convient uniquement aux transferts de fichiers publics. À éviter en production.
Mode utilisateur local Moyenne Authentification basée sur les utilisateurs Linux locaux. Couvert dans ce guide.
Mode utilisateur virtuel La plus élevée Utilise des utilisateurs virtuels isolés du système. Nécessite une configuration avancée.

Ce guide couvre le mode utilisateur local (recommandé) et le mode utilisateur anonyme.

Étape 1 : Installer vsftpd

  1. Connectez-vous à votre serveur Linux.

  2. Vérifiez si vsftpd est déjà installé. Certains serveurs déployés avec des images d'application incluent vsftpd préinstallé ; une réinstallation peut provoquer des conflits.

    vsftpd -v

    Si la sortie affiche un numéro de version, vsftpd est déjà installé :

    vsftpd: version 3.0.2

    Si vsftpd est déjà installé, récupérez les identifiants FTP dans la documentation de votre image d'application, puis passez directement à l'étape Étape 3 : Ouvrir les ports du pare-feu.

  3. Installez vsftpd. Cet exemple utilise CentOS 7. Pour les autres distributions, consultez la rubrique Créer un site FTP sur une instance ECS.

    sudo yum install -y vsftpd

    Un message de succès confirme l'installation.

  4. Activez le démarrage automatique de vsftpd au démarrage du système :

    sudo systemctl enable vsftpd.service
  5. Démarrez vsftpd :

    sudo systemctl start vsftpd.service
    Remarque

    Si le service ne parvient pas à démarrer et affiche l'erreur Job for vsftpd.service failed because the control process exited with error code, le port 21 est peut-être déjà utilisé. Exécutez lsof -i:21 pour identifier le processus, puis exécutez kill -9 <PID> pour l'arrêter avant de redémarrer vsftpd.

  6. Vérifiez que vsftpd est en cours d'exécution :

    sudo netstat -antup | grep ftp

    Si le port du service FTP apparaît dans la sortie, vsftpd est en cours d'exécution.

Étape 2 : Configurer le mode d'accès

Choisissez l'un des modes suivants. Le mode utilisateur local est recommandé pour une meilleure sécurité.

Mode utilisateur local (recommandé)

  1. Créez un utilisateur Linux dédié pour l'accès FTP. Cet exemple utilise ftptest.

    sudo adduser ftptest
  2. Définissez un mot de passe pour l'utilisateur :

    sudo passwd ftptest

    Suivez les instructions pour saisir et confirmer le mot de passe.

  3. Créez le répertoire FTP :

    sudo mkdir /var/ftp/test
  4. Attribuez la propriété du répertoire à ftptest :

    sudo chown -R ftptest:ftptest /var/ftp/test
  5. Sauvegardez le fichier de configuration de vsftpd avant de le modifier :

    sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  6. Ouvrez le fichier de configuration pour le modifier :

    Remarque

    Si vous avez installé vsftpd avec apt install vsftpd, le fichier de configuration se trouve à l'emplacement /etc/vsftpd.conf à la place.

    sudo vim /etc/vsftpd/vsftpd.conf

    Appuyez sur i pour passer en mode édition.

  7. Mettez à jour les paramètres suivants. Assurez-vous qu'aucune de ces lignes n'est commentée avec # et évitez les espaces de fin, car ils empêchent vsftpd de redémarrer correctement. /etc/vsftpd/vsftpd.conf

    # Disable anonymous login
    anonymous_enable=NO
    # Allow local users to log in
    local_enable=YES
    # Listen on IPv4
    listen=YES

    Commentez l'écouteur IPv6 en ajoutant # au début de la ligne :

    #listen_ipv6=YES
  8. Ajoutez les paramètres suivants à la fin du fichier. Remplacez 39.105.xx.xx par l'adresse IP publique de votre serveur. /etc/vsftpd/vsftpd.conf

    # Set the home directory for local users after login
    local_root=/var/ftp/test
    # Restrict users to their home directory
    chroot_local_user=YES
    # Enable a list of users exempt from the chroot restriction
    chroot_list_enable=YES
    # Path to the exemption list file
    chroot_list_file=/etc/vsftpd/chroot_list
    # Enable passive mode
    pasv_enable=YES
    allow_writeable_chroot=YES
    # Public IP address of the server
    pasv_address=39.105.xx.xx
    # Passive mode port range (high-numbered ports reduce exposure)
    pasv_min_port=50000
    pasv_max_port=50010

    Appuyez sur Esc, puis tapez :wq et appuyez sur Enter pour enregistrer et fermer.

  9. Créez le fichier de liste d'exemption chroot. Les utilisateurs répertoriés ici ne sont pas confinés au répertoire personnel. Le fichier est requis même s'il est vide.

    sudo vim /etc/vsftpd/chroot_list

    Appuyez sur i pour passer en mode édition. Ajoutez les noms d'utilisateurs exemptés, un par ligne (laissez le fichier vide si aucune exemption n'est nécessaire). Appuyez sur Esc, puis tapez :wq et appuyez sur Enter pour enregistrer et fermer.

  10. Arrêtez le pare-feu système. vsftpd gère l'accès aux ports via le pare-feu du Simple Application Server configuré à l'étape 3.

     sudo systemctl stop firewalld
  11. Activez l'authentification par mot de passe dans la configuration SSH :

     sudo vi /etc/ssh/sshd_config

    Trouvez PasswordAuthentication à la fin du fichier et définissez-le sur yes. Appuyez sur Esc, puis tapez :wq! et appuyez sur Enter pour enregistrer et fermer.

  12. Redémarrez vsftpd pour appliquer toutes les modifications :

     sudo systemctl restart vsftpd.service

Mode utilisateur anonyme

Important

Le mode anonyme permet à quiconque de se connecter sans mot de passe. Utilisez-le uniquement pour les transferts de fichiers publics dans des environnements hors production.

  1. Ouvrez le fichier de configuration de vsftpd :

    Remarque

    Si vous avez installé vsftpd avec apt install vsftpd, le fichier de configuration se trouve à l'emplacement /etc/vsftpd.conf à la place.

    sudo vim /etc/vsftpd/vsftpd.conf

    Appuyez sur i pour passer en mode édition.

  2. Définissez les paramètres suivants. Les valeurs par défaut exactes varient selon la distribution Linux ; vérifiez que les deux valeurs sont bien YES après modification. Assurez-vous qu'aucune de ces lignes n'est commentée avec # et évitez les espaces de fin. /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES
    anon_upload_enable=YES
    listen=YES
    listen_ipv6=NO
  3. Ajoutez les paramètres suivants à la fin du fichier. Remplacez 39.105.xx.xx par l'adresse IP publique de votre serveur. /etc/vsftpd/vsftpd.conf

    # Enable passive mode
    pasv_enable=YES
    # Passive mode port range
    pasv_min_port=50000
    pasv_max_port=50010
    # Public IP address of the server
    pasv_address=39.105.xx.xx

    Appuyez sur Esc, puis tapez :wq et appuyez sur Enter pour enregistrer et fermer.

  4. Accordez des autorisations d'écriture sur le répertoire FTP par défaut (/var/ftp/pub) :

    sudo chmod o+w /var/ftp/pub/
  5. Redémarrez vsftpd :

    sudo systemctl restart vsftpd.service

Étape 3 : Ouvrir les ports du pare-feu

Ajoutez des règles entrantes dans le pare-feu du Simple Application Server pour autoriser le trafic FTP. Le mode passif nécessite le port 21 et la plage de ports passifs. Consultez la rubrique Gérer un pare-feu pour obtenir des instructions.

Type d'application Protocole Plage de ports
FTP TCP 21
Personnalisé TCP pasv_min_portpasv_max_port (exemple : 50000/50010)

Après avoir ajouté les règles, elles apparaissent sur la page Firewall :

image.png

Étape 4 : Vérifier la connexion FTP

Utilisez FileZilla pour confirmer que le serveur FTP est accessible.

Remarque

Cet exemple utilise FileZilla 3.64.0. L'interface peut différer dans d'autres versions.

  1. Ouvrez FileZilla.

  2. Accédez à File > Site Manager.

  3. Cliquez sur New site (N) dans le coin inférieur gauche de la boîte de dialogue Site Manager.

  4. Saisissez un nom pour le nouveau site et configurez la connexion :

    filezilla

    Paramètre Valeur
    Name Un nom de site personnalisé. Exemple : test-01.
    Protocol FTP
    Host Adresse IP publique du serveur (exemple : 121.43.XX.XX)
    Port 21
    Logon type Anonymous (pour le mode anonyme) ou Normal (pour le mode utilisateur local)

    Pour le mode utilisateur local, définissez Logon type sur Normal et saisissez le nom d'utilisateur et le mot de passe FTP.

  5. Cliquez sur Connect.

Une fois connecté, utilisez FileZilla pour télécharger, envoyer ou supprimer des fichiers. L'interface est divisée en quatre sections :

filezilla

Section Description
État de la connexion, commandes et résultats des tâches
Machine locale : liste des répertoires et des fichiers
Serveur distant : liste des répertoires FTP. En mode anonyme, le répertoire par défaut est /pub.
File d'attente de transfert et journaux des tâches

Référence de configuration de vsftpd

Le répertoire /etc/vsftpd contient trois fichiers clés :

  • /etc/vsftpd/vsftpd.conf : le fichier de configuration principal

  • /etc/vsftpd/ftpusers : les utilisateurs figurant dans ce fichier sont refusés pour l'accès FTP (liste de blocage)

  • /etc/vsftpd/user_list : les utilisateurs figurant dans ce fichier sont autorisés pour l'accès FTP (liste d'autorisation)

Paramètres de contrôle de connexion

Paramètre Description
anonymous_enable=YES Accepter les utilisateurs anonymes
no_anon_password=YES Ignorer la demande de mot de passe pour les utilisateurs anonymes
anon_root= Répertoire personnel pour les utilisateurs anonymes
local_enable=YES Accepter les utilisateurs locaux
local_root= Répertoire personnel pour les utilisateurs locaux

Paramètres d'autorisation

Paramètre Description
write_enable=YES Autoriser tous les utilisateurs à envoyer des fichiers
local_umask=022 Masque d'autorisations de fichier pour les envois des utilisateurs locaux
file_open_mode=0666 Appliquer umask aux autorisations des fichiers envoyés
anon_upload_enable=NO Autoriser les utilisateurs anonymes à envoyer des fichiers
anon_mkdir_write_enable=NO Autoriser les utilisateurs anonymes à créer des répertoires
anon_other_write_enable=NO Autoriser les utilisateurs anonymes à modifier ou supprimer des fichiers
chown_username=lightwiter Propriétaire attribué aux fichiers envoyés par les utilisateurs anonymes