Qu'est-ce que le FTP ?
FTP (File Transfer Protocol) est un protocole réseau client-serveur qui permet aux utilisateurs d'échanger des fichiers vers et depuis des ordinateurs distants.
FTP utilise du texte brut pour transférer des données et accéder aux données. Il existe plusieurs serveurs FTP open source différents disponibles pour la plate-forme du système d'exploitation Linux. Les serveurs FTP les plus couramment utilisés sont VSFTPD, ProFTPD et PureFTPD. Le protocole FTP utilise le port numéro 21 pour la connexion et le port 20 pour le transfert de données. En mode passif, des ports supplémentaires sont utilisés.
Dans ce didacticiel, nous allons apprendre à installer et à configurer VSFTPD. Il est très sécurisé et stable et disponible dans le référentiel de packages CentOS 8.
Installer le serveur FTP VSFTP
Pour installer le package VSFTPD sur CentOS 8, ouvrez un terminal ou connectez-vous à votre serveur en SSH en tant qu'utilisateur root et tapez la commande suivante :
# dnf install –y vsftpd
Une fois le package installé, démarrez et activez le service VSFTPD à l'aide de la commande suivante :
# systemctl enable vsftpd# systemctl start vsftpd
Prenez une copie du fichier de configuration d'origine /etc/vsftpd/vsftpd.conf en tapant la commande suivante :
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
Modifiez maintenant le fichier de configuration, en utilisant la commande suivante :
# vim /etc/vsftpd/vsftpd.conf
Recherchez et définissez les directives suivantes :
anonymous_enable=NO # désactiver les utilisateurs anonymes (utilisateurs inconnus)local_enable=YES # autoriser les utilisateurs locauxwrite_enable=YES # autoriser les commandes d'écriture ftplocal_umask=022 # définir la valeur par défaut umaskdirmessage_enable=YES # activer les messages lors du changement de répertoirexferlog_enable=YES # activer la journalisation des téléchargements et downloadsconnect_from_port_20=OUI # garantir que PORT transfère les connexions depuis le port 20 xferlog_std_format=OUI # conserver le journal standard formatlisten=NON # empêcher l'exécution de vsftpd en mode autonome /pré>Configurer la liste des utilisateurs dans le serveur FTP
Par défaut, tous les utilisateurs qui se trouvent dans la liste_utilisateurs fichier situé dans /etc/vsftpd/user_list sont autorisés pour utiliser les services FTP.
Pour restreindre les utilisateurs dans un environnement chrooté , utilisez les instructions suivantes :
chroot_local_user=YES # Créer un environnement chrooté pour les utilisateursallow_writeable_chroot=YES # Autoriser l'autorisation d'écriture à un utilisateur sur le répertoire jail chrootPour limiter l'utilisateur à son répertoire personnel, utilisez les directives suivantes :
userlist_enable=YES # activer vsftpd pour charger usernamesuserlist_deny=NO # autoriser l'accès aux utilisateurs de la liste d'utilisateursSi vous souhaitez fournir un accès global à notre système, ajoutez cette directive dans votre fichier de configuration :
chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list #les utilisateurs de cette liste de fichiers ont un accès globalEnregistrez et fermez le fichier de configuration.
Maintenant, créez une chroot_list sous /etc/vsftpd/ répertoire, en utilisant la commande suivante :
# touch /etc/vsftpd/chroot_list
Ajoutez uniquement les utilisateurs de cette liste auxquels vous souhaitez fournir un accès global au système.
Créer un utilisateur pour accéder aux services FTP
Pour créer un utilisateur pour utiliser le service FTP, utilisez la commande suivante :
# useradd user1# passwd user1Ajoutez cet utilisateur dans user_list fichier pour restreindre un utilisateur à son répertoire personnel, utilisez la commande suivante :
# vim /etc/vsftpd/user_listTapez "i ” pour insérer et saisir ce nom d'utilisateur, comme indiqué sur la figure :
Appuyez sur ÉCHAP et tapez :wq ! pour enregistrer le fichier.
Si vous souhaitez fournir à un utilisateur spécifique un accès global au système, ajoutez cet utilisateur dans /etc/vsftpd/chroot_list.
Redémarrez le VSFTPD Service :
# systemctl redémarre vsftpd
Vérifiez l'état du service FTP à l'aide de la commande suivante :
# état systemctl vsftpd
Configurer le pare-feu pour FTP
Pour autoriser le service FTP via le pare-feu, utilisez la commande suivante :
# firewall-cmd - - add-service =ftp - - permanent# firewall-cmd - - recharger
Tester le serveur FTP depuis une machine Windows
Pour se connecter au serveur FTP, vous avez besoin d'un logiciel client. Le logiciel le plus couramment utilisé pour le FTP est FileZilla , WINSCP, etc. J'utilise FileZilla pour la connexion.
Ouvrez votre logiciel client FTP, entrez les informations suivantes pour vous connecter :
Hébergeur — > Adresse IP ou nom d'hôte.
Nom d'utilisateur :nom d'utilisateur FTP (dans mon cas c'est user1)
Mot de passe
Port :21
Une fois connecté, vous pouvez charger/télécharger des fichiers selon vos besoins.
Conclusion
Dans ce didacticiel, nous avons appris à configurer un serveur FTP sur Centos 8, à restreindre les utilisateurs à leur répertoire personnel et à leur accorder un accès en lecture/écriture. Nous avons également vu comment donner à l'utilisateur spécifique un accès général au système.