FTP signifie File Transfer Protocol. Il s'agit d'une méthode standard de transfert de fichiers entre ordinateurs depuis des décennies.
Dans ce guide, nous apprendrons comment installer un serveur SFTP dans Rocky Linux 8 à l'aide de vsftp pour transférer des fichiers entre le client et le serveur rapidement et en toute sécurité via le protocole FTP.
Contenu connexe :
- Comment configurer un serveur SFTP sur un serveur Rocky Linux/CentOS 8
Assurez-vous que le serveur est mis à jour
Avant de continuer, assurons-nous que notre serveur dispose de packages mis à jour. Utilisez cette commande :
sudo dnf update -y
Installer vsftpd
VSFTPD est disponible dans les dépôts Linux Rocky par défaut. Installez-le à l'aide de cette commande :
sudo dnf install -y vsftpd
Lorsque vous y êtes invité, saisissez Y
pour permettre à l'opération de se terminer.
Démarrer et activer le service
Le service vsftpd ne sera pas démarré par défaut. Démarrez-le à l'aide de cette commande :
sudo systemctl start vsftpd
Confirmez que le service est opérationnel
$ sudo systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-02-14 08:32:41 UTC; 7s ago
Process: 72141 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 72142 (vsftpd)
Tasks: 1 (limit: 23168)
Memory: 584.0K
CGroup: /system.slice/vsftpd.service
└─72142 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Starting Vsftpd ftp daemon...
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Started Vsftpd ftp daemon.
Enfin, activez le service pour qu'il démarre au démarrage :
sudo systemctl enable vsftpd
Activer le service dans le pare-feu
Si vous avez installé et activé firewalld, utilisez ces commandes pour autoriser le service ftp :
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --zone=public --permanent --add-service=ftp
sudo firewall-cmd –-reload
Configuration de VSFTPD
Le fichier de configuration vsftpd par défaut se trouve dans /etc/vsftpd/vsftpd.conf
chemin. Avant de modifier le fichier, sauvegardons le fichier afin de pouvoir revenir à l'original si quelque chose ne se passe pas comme prévu.
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
Ensuite, ouvrez le fichier avec votre éditeur de texte préféré. J'utilise vim :
sudo vim /etc/vsftpd/vsftpd.conf
Tout d'abord, configurons notre serveur FTP pour désactiver les utilisateurs anonymes et autoriser les utilisateurs locaux.
Recherchez les entrées suivantes dans le fichier de configuration et modifiez-les pour qu'elles correspondent aux éléments suivants :
anonymous_enable=NO
local_enable=YES
L'accès anonyme est risqué - vous devez l'éviter à moins que vous ne compreniez les risques.
Ensuite, autorisez un utilisateur connecté à télécharger des fichiers sur votre serveur FTP. Activez l'accès en écriture avec cette ligne :
write_enable=YES
Limitez les utilisateurs FTP à leur propre répertoire personnel. Ceci est souvent appelé prison ou prison chroot . Recherchez et ajustez l'entrée pour qu'elle corresponde aux éléments suivants :
chroot_local_user=YES
allow_writeable_chroot=YES
Le vsftpd fournit un moyen de créer une liste d'utilisateurs approuvés. Pour gérer les utilisateurs de cette manière, recherchez userlist_enable
entrée, puis modifiez le fichier pour qu'il ressemble à ceci :
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
Vous pouvez maintenant modifier le /etc/vsftpd/user_list fichier et ajoutez votre liste d'utilisateurs. (Indiquez-en un par ligne.) Le userlist_deny
L'option vous permet de spécifier les utilisateurs à inclure ; en le définissant sur yes
modifierait la liste des utilisateurs bloqués.
Une fois que vous avez terminé de modifier le fichier de configuration, enregistrez vos modifications. Redémarrez le vsftpd service pour appliquer les modifications :
sudo systemctl restart vsftpd
Créer un nouvel utilisateur FTP
Pour créer un nouvel utilisateur FTP, entrez ce qui suit :
sudo adduser ftpuser0
sudo passwd ftpuser0
Le système devrait vous demander d'entrer et de confirmer un mot de passe pour le nouvel utilisateur.
Ajouter le nouvel utilisateur à la liste d'utilisateurs :
echo "ftpuser0" | sudo tee –a /etc/vsftpd/user_list
Créez un répertoire pour le nouvel utilisateur et ajustez les autorisations :
sudo mkdir -p /home/ftpuser0/ftp/upload
sudo chmod 550 /home/ftpuser0/ftp
sudo chmod 750 /home/ftpuser0/ftp/upload
sudo chown -R ftpuser0: /home/ftpuser0/ftp
Cela crée un /home/ftpuser0 répertoire pour le nouvel utilisateur, avec un répertoire spécial pour les téléchargements. Il définit les autorisations pour les téléchargements uniquement vers le répertoire /uploads.
Vous pouvez maintenant vous connecter à votre serveur FTP avec l'utilisateur que vous avez créé :
ftp 10.2.11.9
Remplacez cette adresse IP par celle de votre système. Vous pouvez trouver votre adresse IP sous Linux avec ip addr
commande.
Le système devrait vous demander un nom d'utilisateur - entrez le nom d'utilisateur que vous avez créé précédemment. Tapez le mot de passe et le système devrait vous connecter.
Tester la connexion FTP
Pour tester le serveur FTP en local, utilisez la commande :
$ ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.3)
Name (localhost:rocky): rocky
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Conclusion
Nous avons réussi à mettre en place notre propre serveur ftp. Vous devriez pouvoir vous connecter à votre serveur via FTP et commencer à transférer des fichiers. Vous pouvez utiliser un client FTP comme Filezilla pour enfin accéder à votre serveur FTP avec les différents comptes créés et commencer à transférer des fichiers.