Bien que vsftpd n'offre pas forcément le même degré de personnalisation que d'autres serveurs FTP courants, il fournit suffisamment d'options pour répondre aux besoins de la plupart des administrateurs. Étant donné que sa gamme de fonctionnalités n'est pas excessivement vaste, les erreurs pragmatiques et de configuration sont plus restreintes.
Toute configuration de vsftpd est traitée par son fichier de configuration, /etc/vsftpd/vsftpd.conf. Chaque directive apparaît sur sa propre ligne au sein du fichier et suit le format suivant :
<directive>=<value> |
Pour chaque directive, remplacez d'une part <directive> par une directive valide et d'autre part <value> par une valeur valide.
![]() | Important |
---|---|
Dans une directive, aucun espace ne doit figurer entre la <directive>, le signe égal et l'élément <value>. |
Les lignes de commentaire doivent être précédées par un signe dièse (#) et ne sont pas prises en compte par le démon.
Pour obtenir une liste complète de toutes les directives disponibles, reportez-vous à la page de manuel de vsftpd.conf.
![]() | Important |
---|---|
Pour obtenir un aperçu des différentes manières de sécuriser vsftpd, reportez-vous au chapitre intitulé Sécurité de serveur du Guide de sécurité de Red Hat Enterprise Linux. |
Ci-dessous figure une liste des directives les plus importantes figurants dans /etc/vsftpd/vsftpd.conf. Toute directive ne se trouvant pas explicitement dans le fichier de configuration de vsftpd se voit attribuer la valeur par défaut.
Ci-dessous figure une liste des directives contrôlant le comportement général du démon vsftpd.
listen — Lorsque cette option est activée, vsftpd est exécuté en mode autonome. Red Hat Enterprise Linux attribue la valeur YES. Cette directive ne peut pas être utilisée de concert avec la directive listen_ipv6.
La valeur par défaut est NO.
listen_ipv6 — Lorsque cette option est activée, vsftpd est exécuté en mode autonome, mais n'écoute que l'interface de connexion (ou socket) IPv6. Cette directive ne peut pas être utilisée de concert avec la directive listen.
La valeur par défaut est NO.
session_support — Lorsque cette option est activée, vsftpd tente de maintenir les sessions de connexion pour chaque utilisateur par le biais de module d'authentification enfichables (ou PAM de l'anglais Pluggable Authentication Modules). Reportez-vous au Chapitre 15 pour obtenir de plus amples informations sur PAM. Si l'ouverture de sessions n'est pas nécessaire, la désactivation de cette option permet à vsftpd de tourner avec moins de processus et avec des privilèges moindres.
La valeur par défaut est YES.
Ci-dessous figure une liste des directives contrôlant le comportement de connexion et les mécanismes de contrôle d'accès.
anonymous_enable — Lorsque cette option est activée, des utilisateurs anonymes sont autorisés à se connecter. Les noms d'utilisateur anonymes (dits anonymous) et ftp sont acceptés.
La valeur par défaut est YES.
Reportez-vous à la Section 14.5.3 pour obtenir une liste des directives ayant un impact sur les utilisateurs anonymes.
banned_email_file — Si la directive deny_email_enable a pour valeur YES, elle spécifie le fichier contenant une liste des mots de passe de messagerie anonymes dont l'accès au serveur est refusé.
La valeur par défaut est /etc/vsftpd.banned_emails.
banner_file — Spécifie le fichier contenant du texte affiché lorsqu'une connexion est établie avec le serveur . Cette option annule tout texte spécifié dans la directive ftpd_banner.
Il n'existe pas de valeur par défaut pour cette directive.
cmds_allowed — Spécifie une liste délimitée par des virgules, des commandes FTP permises par le serveur. Toutes les autres commandes sont refusées.
Il n'existe pas de valeur par défaut pour cette directive.
deny_email_enable — Lorsque cette option est activée, tout utilisateur anonyme employant des mots de passe de messagerie spécifiés dans /etc/vsftpd.banned_emails se voit refuser l'accès au serveur. Le nom du fichier référencé par cette directive peut être spécifié à l'aide de la directive banned_email_file.
La valeur par défaut est NO.
ftpd_banner — Lorsque cette option est activée, la chaîne spécifiée dans cette directive est affichée lorsque qu'une connexion au serveur est établie. Cette option peut être annulé par la directive banner_file.
Par défaut, vsftpd affiche sa bannière standard.
local_enable — Lorsque cette option est activée, les utilisateurs locaux sont autorisés à se connecter au système.
La valeur par défaut est NO.
Reportez-vous à la Section 14.5.4 pour obtenir une liste des directives ayant un impact sur les utilisateurs locaux.
pam_service_name — Spécifie le nom de service PAM pour vsftpd.
Bien que la valeur par défaut soit ftp, sous Red Hat Enterprise Linux cette valeur est vsftpd.
tcp_wrappers — Lorsque cette option est activée, les enveloppeurs TCP sont utilisée pour accorder l'accès au serveur. De plus, si le serveur FTP est configuré sur de multiples adresses IP, l'option VSFTPD_LOAD_CONF peut être utilisée pour charger des fichiers de configuration différents en fonction de l'adresse IP demandée par le client. Pour obtenir de plus amples informations sur les enveloppeurs TCP, reportez-vous au Chapitre 16.
Bien que la valeur par défaut soit NO, sous Red Hat Enterprise Linux la valeur est YES.
userlist_deny — Lorsque cette option est utilisée de concert avec la directive userlist_enable et que sa valeur est NO, tous les utilisateurs locaux se voient refuser l'accès à moins que le nom d'utilisateur ne figure dans le fichier spécifié par la directive userlist_file. Étant donné que l'accès est refusé avant même que le client ne puisse saisir son mot de passe, le choix de la valeur NO pour cette directive empêche les utilisateurs de soumettre des mots de passe non cryptés sur le réseau.
La valeur par défaut est YES.
userlist_enable — Lorsque cette option est activée, les utilisateurs mentionnés dans le fichier spécifiés par la directive userlist_file se voient refuser l'accès. Étant donné que l'accès est refusé avant même que le client ne puisse saisir son mot de passe, les utilisateurs n'ont pas la possibilité de soumettre des mots de passe non cryptés sur le réseau.
Bien que la valeur par défaut soit NO, sous Red Hat Enterprise Linux la valeur est YES.
userlist_file — Spécifie le fichier référencé par vsftpd lorsque la directive userlist_enable est activée.
la valeur par défaut est /etc/vsftpd.user_list.
cmds_allowed — Spécifie une liste délimitée par des virgules des commandes FTP que le serveur autorise. Toutes les autres commandes sont refusées.
Il n'existe pas de valeur par défaut pour cette directive.
Ci-dessous figure une liste des directives qui contrôlent l'accès des utilisateurs anonymes au serveur. Pour utiliser ces options, la valeur de la directive anonymous_enable doit être YES.
anon_mkdir_write_enable — Lorsque cette option est activée de concert avec la directive write_enable, des utilisateurs anonymes sont autorisés à créer de nouveaux répertoires au sein du répertoire parent doté des permissions d'écriture.
La valeur par défaut est NO.
anon_root — Spécifie le répertoire pour lequel vsftpd change après la connexion d'un utilisateur anonyme.
Il n'existe pas de valeur par défaut pour cette directive.
anon_upload_enable — Lorsque cette option est activée de concert avec la directive write_enable, des utilisateurs anonymes sont autorisés à télétransmettre des fichiers dans le répertoire parent dotés des permissions d'écriture.
La valeur par défaut est NO.
anon_world_readable_only — Lorsque cette option est activée, des utilisateurs anonymes sont autorisés à télécharger des fichiers lisibles par tout un chacun.
La valeur par défaut est YES.
ftp_username — Spécifie le compte de l'utilisateur local (énoncé dans /etc/passwd) servant pour l'utilisateur FTP anonyme. Le répertoire personnel spécifié dans /etc/passwd pour l'utilisateur est le répertoire root de l'utilisateur FTP anonyme.
La valeur par défaut est ftp.
no_anon_password — Lorsque cette option est activée, l'utilisateur anonyme ne doit pas saisir de mot de passe.
La valeur par défaut est NO.
Ci-dessous figure une liste des directives caractérisant la manière selon laquelle les utilisateurs locaux ont accès au serveur. Pour utiliser ces options, la directive local_enable doit avoir la valeur YES.
chmod_enable — Lorsque cette option est activée, la commande FTP SITE CHMOD est autorisée pour les utilisateurs locaux. Cette commande permet aux utilisateurs de changer les permissions s'appliquant aux fichiers.
La valeur par défaut est YES.
chroot_list_enable — Lorsque cette option est activée, les utilisateurs locaux énoncés dans le fichier spécifié dans la directive chroot_list_file sont placés dans une prison chroot dès qu'ils se connectent.
Si cette option est activée de concert avec la directive chroot_local_user, les utilisateurs locaux énoncés dans le fichier spécifié dans la directive chroot_list_file ne sont pas placés dans une prison chroot dès qu'ils se connectent.
La valeur par défaut est NO.
chroot_list_file — Spécifie le fichier contenant une liste des utilisateurs locaux référencés lorsque la valeur de la directive chroot_list_enable est YES.
La valeur par défaut est /etc/vsftpd.chroot_list.
chroot_local_user — Lorsque cette option est activée, les utilisateurs locaux opèrent dans dans l'environnement chrooté de leurs répertoires personnels après leur connexion.
La valeur par défaut est NO.
![]() | Avertissement |
---|---|
L'utilisation de cette configuration faisant surgir un certain nombre de problèmes de sécurité, particulièrement pour les utilisateurs possédant les privilèges nécessaire pour télétransmettre, elle est généralement déconseillée. |
guest_enable — Lorsque cette option est activée, tous les utilisateurs autres que les utilisateurs anonymes sont connectés en tant que l'utilisateur invité (guest) qui est l'utilisateur local spécifié dans la directive guest_username.
La valeur par défaut est NO.
guest_username — Spécifie le nom d'utilisateur vers lequel l'utilisateur invité (guest) est mappé.
La valeur par défaut est ftp.
local_root — Spécifie le répertoire pour lequel vsftpd change après la connexion d'un utilisateur local.
Il n'existe pas de valeur par défaut pour cette directive.
passwd_chroot_enable — Lorsque cette option est activée de concert avec la directive chroot_local_user, vsftpd chroote les utilisateur locaux en fonction de la présence de /./ dans le champ du répertoire personnel dans /etc/passwd.
La valeur par défaut est NO.
user_config_dir — Spécifie le chemin vers un répertoire contenant les fichiers de configuration portant le nom des utilisateurs du système local qui contiennent des paramètres spécifiques pour ces utilisateurs. Toute directive figurant dans le fichier de configuration d'un utilisateur annule celles figurant dans /etc/vsftpd/vsftpd.conf.
Il n'existe pas de valeur par défaut pour cette directive.
Ci-dessous figure la liste des directives ayant un impact sur les directoires.
dirlist_enable — Lorsque cette option est activée, les utilisateurs sont autorisés à visionner les listes de répertoires.
La valeur par défaut est YES.
dirmessage_enable — Lorsque cette option est activée, un message apparaît chaque fois qu'un utilisateur ouvre un répertoire avec un fichier message. Ce message se trouve dans le répertoire qui est ouvert. Le nom de ce fichier est spécifié dans la directive message_file et part défaut prend la valeur .message.
Bien que la valeur par défaut soit NO, sous Red Hat Enterprise Linux la valeur est YES.
force_dot_files — Lorsque cette option est activée, les fichiers commençant par un point (.) sont inclus dans les listes de répertoires, à l'exception des fichiers . et ...
La valeur par défaut est NO.
hide_ids — Lorsque cette option est activée, toutes les listes de répertoires font apparaître ftp comme l'utilisateur et le groupe de chaque fichier.
La valeur par défaut est NO.
message_file — Spécifie le nom du fichier message lorsque la directive dirmessage_enable est utilisée.
La valeur par défaut est .message.
text_userdb_names — Lorsque cette option est activée, des noms d'utilisateur et noms de groupes test sont utilisés au lieu des entrées UID et GID. L'activation de cette option peut entraîner un ralentissement des performances du serveur.
La valeur par défaut est NO.
use_localtime — Lorsque cette option est activée, les listes de répertoires révèlent l'heure locale de l'ordinateur au lieu de l'heure GMT.
La valeur par défaut est NO.
Ci-dessous figure la liste des directives ayant un impact sur les directoires.
download_enable — Lorsque cette option est activée, le téléchargement de fichiers est autorisé.
La valeur par défaut est YES.
chown_uploads — Lorsque cette option est activée, tous les fichiers télétransmis par des utilisateurs anonymes deviennent la propriété de l'utilisateur spécifiés dans la directive chown_username.
La valeur par défaut est NO.
chown_username — Spécifie la propriété de fichiers télétransmis anonymement si la directive chown_uploads est activée.
La valeur par défaut est root.
write_enable — Lorsque cette option est activée, les commandes FTP permettant de modifier le système de fichiers sont permises, telles que DELE, RNFR et STOR.
La valeur par défaut est NO.
Ci-dessous figure une liste des directives ayant un impact sur le comportement de journalisation de vsftpd.
dual_log_enable — Lorsque cette option est activée de concert avec xferlog_enable, vsftpd enregistre deux fichiers simultanément : un journal compatible avec wu-ftpd dans le fichier spécifiée dans la directive xferlog_file (par défaut /var/log/xferlog) et un fichier journal vsftpd standard spécifié dans la directive vsftpd_log_file (par défaut /var/log/vsftpd.log).
La valeur par défaut est NO.
log_ftp_protocol — Lorsque cette option est activée de concert avec xferlog_enable et lorsque xferlog_std_format a pour valeur NO, toutes les commandes et réponses FTP sont journalisées. Cette directive est très utilise lors d'opérations de débogage.
La valeur par défaut est NO.
syslog_enable — Lorsque cette option est activée de concert avec xferlog_enable, toute journalisation normalement enregistrée dans le fichier journal standard vsftpd qui est spécifié dans la directive vsftpd_log_file (par défaut /var/log/vsftpd.log) est envoyée à la place à l'enregistreur chronologique automatique du système sous le service FTPD.
La valeur par défaut est NO.
vsftpd_log_file — Spécifie le fichier journal vsftpd. Pour que ce fichier soit utilisé, xferlog_enable doit être activée et xferlog_std_format doit avoir pour valeur NO ou, si xferlog_std_format a pour valeur YES, dual_log_enable doit être activée. Il est important de noter ici que si syslog_enable a pour valeur YES, le journal du système est utilisé à la place du fichier spécifié dans cette directive.
La valeur par défaut est /var/log/vsftpd.log.
xferlog_enable — Lorsque cette commande est activée, vsftpd journalise les connexions (seulement au format vsftpd) et les informations de transfert de fichier dans le fichier journal spécifié dans la directive vsftpd_log_file (par défaut /var/log/vsftpd.log). Si xferlog_std_format a pour valeur YES, les informations de transfert de fichier sont journalisées mais les connexions elles ne le sont pas et le fichier spécifié dans xferlog_file (par défaut /var/log/xferlog) est utilisé à la place. Il est important de noter ici que les fichiers journaux aussi bien que les formats de journaux sont utilisés si dual_log_enable a pour valeur YES.
Bien que la valeur par défaut soit NO, sous Red Hat Enterprise Linux la valeur est YES.
xferlog_file — Spécifie le fichier journal compatible avec wu-ftpd. Pour que ce fichier soit utilisé, xferlog_enable doit être activé et xferlog_std_format doit avoir pour valeur YES. Il est également utilisé si dual_log_enable a pour valeur YES.
La valeur par défaut est /var/log/xferlog.
xferlog_std_format — Lorsque cette option est activée de concert avec xferlog_enable, seul un journal de transfert de fichier compatible avec wu-ftpd est enregistré dans le fichier spécifié dans la directive xferlog_file (par défaut /var/log/xferlog). Il est important de noter ici que ce fichier journalise seulement les transferts de fichier et n'enregistre pas les connexions au serveur.
Bien que la valeur par défaut soit NO, sous Red Hat Enterprise Linux la valeur est YES.
![]() | Important |
---|---|
Pour maintenir la compatibilité avec les fichiers journaux enregistrés l'ancien serveur FTP wu-ftpd, la directive xferlog_std_format a pour valeur YES sous Red Hat Enterprise Linux. Toutefois, ce paramètre signifie que les connexions au serveur sont journalisées. Pour journaliser les connexions au format vsftpd et maintenir un journal des transferts de fichier compatible avec wu-ftpd, donnez à dual_log_enable la valeur YES. S'il n'est pas important de maintenir un journal des transferts de fichier compatible avec wu-ftpd, vous pouvez donner à xferlog_std_format la valeur NO, commenter la ligne à l'aide d'un signe dièse (#) ou supprimer la ligne complètement. |
Ci-dessous figure une liste des directives ayant un impact sur la manière dont vsftpd interagit avec le réseau.
accept_timeout — Spécifie la durée donnée à un client utilisant une connexion passive pour se connecter.
La valeur par défaut est 60.
anon_max_rate — Spécifie le taux de transfert de données, exprimé en octets par seconde, pour les utilisateurs anonymes.
La valeur par défaut est 0, ce qui ne limite pas le taux de transfert.
connect_from_port_20 Lorsque cette option est activée, vsftpd tourne avec suffisamment de privilèges pour pour ouvrit le port 20 sur le serveur lors de transferts de données en mode actif. La désactivation de cette option permet à vsftpd de tourner avec moins de privilèges, mais cette option peut-être incompatible avec certains clients FTP.
Bien que la valeur par défaut soit NO, sous Red Hat Enterprise Linux la valeur est YES.
connect_timeout — Spécifie la durée maximale exprimée en secondes, donnée à un client utilisant un mode actif pour répondre à une connexion de données.
La valeur par défaut est 60.
data_connection_timeout — Spécifie la durée maximale exprimée en secondes, pendant laquelle les transferts de données peuvent s'arrêter. Une fois cette option amorcée, la connexion au client distant est fermée.
La valeur par défaut est 300.
ftp_data_port — Spécifie le port utilisé pour les connexions actives aux données lorsque connect_from_port_20 a pour valeur YES.
La valeur par défaut est 20.
idle_session_timeout — Spécifie la durée maximale pouvant s'écouler entre des commandes depuis un client distant. Une fois cette option amorcée, la connexion au client distant est fermée.
La valeur par défaut est 300.
listen_address — Spécifie l'adresse IP que vsftpd doit écouter pour des connexions réseau.
Il n'existe pas de valeur par défaut pour cette directive.
![]() | Astuce |
---|---|
Si plusieurs copies de vsftpd tournent et servent différentes adresses IP, le fichier de configuration de chaque copie du démon vsftpd doit avoir une valeur différente pour cette directive. Reportez-vous à la Section 14.4.1 pour obtenir de plus amples informations sur les serveurs FTP avec plusieurs prestataires de bande passante (aussi appelé multihoming). |
listen_address6 — Spécifie l'adresse IPv6 que vsftpd doit écouter pour des connexions au réseau lorsque listen_ipv6 a pour valeur YES.
Il n'existe pas de valeur par défaut pour cette directive.
![]() | Astuce |
---|---|
Si plusieurs copies de vsftpd tournent et servent différentes adresses IP, le fichier de configuration de chaque copie du démon vsftpd doit avoir une valeur différente pour cette directive. Reportez-vous à la Section 14.4.1 pour obtenir de plus amples informations sur les serveurs FTP avec plusieurs prestataires de bande passante (aussi appelé multihoming). |
listen_port — Spécifie le port que vsftpd écoute pour des connexions au réseau.
La valeur par défaut est 21.
local_max_rate — Spécifie le taux maximal (exprimé en octets par secondes) auquel les données sont transférées, pour les utilisateurs locaux connectés au serveur.
La valeur par défaut est 0, ce qui ne limite pas le taux de transfert.
max_clients — Spécifie le nombre maximal de clients (exprimé en octets par seconde) autorisés à se connecter simultanément au serveur lorsqu'il tourne en mode autonome.
La valeur par défaut est 0, ce qui ne limite pas les connexions.
max_per_ip — Spécifie le nombre maximal de clients autorisés à se connecter depuis la adresse IP source.
La valeur par défaut est 0, ce qui ne limite pas les connexions.
pasv_address — Spécifie l'adresse IP du public faisant face à l'adresse IP du serveur pour les serveurs se trouvant derrière des pare-feu NAT (Network Address Translation) . Cette option permet à vsftpd de fournir la bonne adresse de retour pour des connexions en mode passif.
Il n'existe pas de valeur par défaut pour cette directive.
pasv_enable — Lorsque cette option est activée, les connexions en mode passif ne sont pas permises.
La valeur par défaut est YES.
pasv_max_port — Spécifie le port le plus élevé possible qui est envoyé aux clients FTP pour des connexions en mode passif. Ce paramètre est utilisé pour limiter la plage des ports afin que les règles pare-feu soient faciles à créer.
La valeur par défaut est 0, ce qui ne limite pas la plage des ports passifs les plus élevés. La valeur ne doit pas dépasser 65535.
pasv_min_port — Spécifie le port le plus bas possible qui est envoyé au client FTP pour des connexions en mode passif. Ce paramètre est utilisé pour limiter la plage des ports afin que les règles de pare-feu soient faciles à créer.
La valeur par défaut est 0, ce qui ne limite pas la plage des ports passifs les plus bas. La valeur ne doit pas être inférieure à 1024.
pasv_promiscuous — Lorsque cette option est activée, les connexions aux données ne sont pas analysées pour vérifier qu'elles proviennent bien de la même adresse IP. Ce paramètre est seulement utile pour certains types de tunnellisation.
![]() | Attention |
---|---|
N'activez pas cette option à moins qu'elle ne soit absolument nécessaire car elle désactive une fonctionnalité de sécurité importante qui permet de vérifier que les connexions en mode passif proviennent bien de la même adresse IP que la connexion de contrôle qui à engendré le transfert de données. |
La valeur par défaut est NO.
port_enable — Lorsque cette option est activée, les connexions en mode actif ne sont pas permises.
La valeur par défaut est NO.
Précédent | Sommaire | Suivant |
Démarrage et arrêt de vsftpd | Niveau supérieur | Ressources supplémentaires |