Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

vsftpd : serveur ftp

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Installation

Il suffit de mettre à jour la liste des paquetages et installer le paquetage vsftp en entrant la ligne de commande suivante en console :

apt-get update && apt-get install vsftpd

I Commandes utiles

Pour démarrer le serveur :

service vsftpd start

Et pour redémarrer le serveur (à faire pour prendre en compte les modifs ci-après)

service vsftpd restart

Pour arrêter le serveur :

service vsftpd stop

Configuration

Une fois vsftpd installé, comme tout programme débian le fichier de configuration se trouve dans le dossier /etc/.
Le fichier de conf ce nomme très logiquement vsftpd.conf, donc un petit :

nano /etc/vsftpd.conf

sera l'idéal pour configurer notre futur serveur FTP.

Voilà la liste des possibilités offerte par Vsftpd.

Options pour le démon

  • listen=YES (c'est la directive activé par défaut) si ont veux utiliser vsftpd sur un réseau en IPV4, la laisser sur YES.
  • listen_ipv6 (pour écouter en IPV6)
    Comme son nom l'indique il ne faut l'activer que si on veut que le serveur écoute en IPV6.

Par contre attention, il semble que pour le moment ont ne peut pas mettre le démon en écoute sur du IPV4 et IPV6 en même temps.
Il faut donc choisir entre IPV4 et IPV6 :
listen=yes
OU
listen_ipv6=yes

Options de connexion et contrôles d'accès

  • anonymous_enable — Lorsque cette option est activée, les utilisateurs anonymes sont autorisés à se connecter. Les noms d'utilisateurs anonymes (dits anonymous) et ftp sont acceptés. \\ La valeur par défaut est YES.
  • 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 anonyme dont l'accès au serveur est refusé.
    La valeur par défaut est /etc/vsftpd.banned_emails.
  • 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 un mot de passe de messagerie spécifié 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 que la 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.
  • pam_service_name — Spécifie le nom de service PAM pour vsftpd.
  • tcp_wrappers — Lorsque cette option est activée, les enveloppeurs TCP sont utilisés 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.
  • 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.
    La valeur par défaut est YES.

É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.

  • userlist_enable — Lorsque cette option est activée, les utilisateurs mentionnés dans le fichier spécifié 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.

  • 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.

Options pour les utilisateurs anonymes

Les options qui contrôlent l'accès des utilisateurs anonymes au serveur.

Pour utiliser ces options, les utilisateurs anonymes doivent donc être autorisés, la valeur de la directive anonymous_enable doit donc être YES.

  • anon_mkdir_write_enable — Lorsque cette option est activée de concert avec la directive write_enable, les 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, les utilisateurs anonymes sont autorisés à télétransmettre des fichiers dans le répertoire parent doté des permissions d'écriture.
    La valeur par défaut est NO.
  • anon_world_readable_only — Lorsque cette option est activée, les 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.

Options pour les utilisateurs locaux

Liste des options caractérisant la manière dont ont accès au serveur les utilisateurs locaux (comptes user présent sur le serveur).

Pour l'utiliser l'option 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.
  • guest_enable — Lorsque cette option est activée, tous les utilisateurs autres que les utilisateurs anonymes sont connectés en tant qu'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.

Options pour les répertoires

  • 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.
    La valeur par défaut est NO.
  • 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 tests sont utilisés au lieu des entrées UID et GID.
    La valeur par défaut est NO.

L'activation de cette option peut entraîner un ralentissement des performances du serveur.

  • 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.

Options pour le transfert de fichiers

  • 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.

Les options de journalisation

Options 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.
    La valeur par défaut est NO.

Cette directive est très utilise lors d'opérations de débogage.

  • 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.
    La valeur par défaut est /var/log/vsftpd.log.

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.

  • 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.
    La valeur par défaut est NO.

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.

  • 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.

Les options réseau

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.
    La valeur par défaut est NO.
  • 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.
  • 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 si elles proviennent bien de la même adresse IP. Ce paramètre est seulement utile pour certains types de tunnellisation.
    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.

Références

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/reseau/vsftpd.txt · Dernière modification: 05/06/2015 18:35 par milou

Pied de page des forums

Propulsé par FluxBB