Cet article décrit comment installer et configurer un serveur vsFTPD sur CentOS®, Red Hat® Enterprise Linux® (RHEL) et le système d'exploitation Ubuntu®.
Remarque : Vous devez être connecté via SSH en tant qu'utilisateur root pour utiliser les instructions de cet article.
Installer vsFTPD
Utilisez les commandes suivantes sur les différentes distributions Linux® pour installer un serveur vsFTPD :
CentOS et RHEL
yum -y install vsftpd
Système d'exploitation Ubuntu
apt-get install vsftpd
Le processus d'installation génère un fichier de configuration. Pour CentOS et RHEL, le fichier est nommé /etc/vsftpd/vsftpd.conf , et pour le système d'exploitation Ubuntu, le fichier est nommé /etc/vsftpd.conf . Utilisez les instructions des sections suivantes pour configurer les paramètres dans le fichier de configuration vsFTPD.
Configurer vsFTPD
Ouvrez le fichier de configuration vsFTPD dans un éditeur de fichiers ou en utilisant vi
, et remplacez le contenu du fichier par les lignes suivantes :
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=60000
pasv_max_port=65000
Si vous souhaitez activer les prisons chroot, ajoutez les lignes suivantes au bas du fichier de configuration :
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
Vous devez créer une vsftp.chroot_list fichier et y mettre tous les utilisateurs qui ne sont pas chrooté. Tous les utilisateurs sont chrootés par défaut. Vous devez créer le fichier même si vous n'avez pas d'utilisateurs à y mettre.
Remarque : Pour le système d'exploitation Ubuntu, la ligne du fichier de liste chroot est chroot_list_file=/etc/vsftpd.chroot_list
.
Si vous souhaitez permettre à un utilisateur d'utiliser des listes de contrôle d'accès aux fichiers (FACL) ou de définir une autorisation de groupe par défaut, ajoutez les lignes suivantes au bas du fichier de configuration :
file_open_mode=XXXX
local_umask=XXX
Ici, vous pouvez modifier file_open_mode
à 0775, 0664, etc. pour répondre à vos besoins d'autorisation de base. Vous n'aurez peut-être pas besoin de le combiner avec umask, selon ce que vous voulez faire.
Umask supprime les autorisations des fichiers. Par exemple, un fichier avec 777 devient 755 avec un umask de 022 (valeur par défaut). Cela limite l'accès pour des raisons de sécurité. Certaines personnes ont défini par erreur le umask sur 000, pensant que les fichiers apparaîtront alors sous la forme 777. Cette distinction est importante. Tandis que file_open_mode
indique à vsFTPD les autorisations par défaut à utiliser, umask supprime uniquement les autorisations, il ne peut jamais les accorder.
Redémarrer et activer vsFTPD
Après avoir modifié le fichier de configuration, vous devez redémarrer le service vsFTPD pour que les modifications prennent effet. Utilisez la commande suivante pour redémarrer vsFTPD sur CentOS, RHEL et le système d'exploitation Ubuntu :
systemctl restart vsftpd
Après le redémarrage de vsFTPD, vous devez également le configurer pour qu'il démarre au démarrage du serveur. Utilisez la commande suivante pour permettre à vsFTPD de démarrer au démarrage sur CentOS, RHEL et le système d'exploitation Ubuntu :
systemctl enable vsftpd
Autoriser vsFTPD à travers le pare-feu
La dernière étape consiste à autoriser vsFTPD à travers le pare-feu de votre serveur en utilisant les commandes suivantes sur les différentes distributions Linux :
CentOS et RHEL
iptables -I RH-Firewall-1-INPUT -p tcp --dport 21 -m comment --comment "FTP" -j ACCEPT
iptables -I RH-Firewall-1-INPUT -p tcp -m multiport --dports 60000:65000 -m comment --comment "FTP passive mode ports" -j ACCEPT
/etc/init.d/iptables save
Le système d'exploitation Ubuntu
ufw allow 21
ufw allow proto tcp from any to any port 60000:65000