Comment configurer l'accès FTP sur CentOS 8
Un serveur FTP est utile pour gérer des sites Web et partager des fichiers. Dans ce tutoriel, nous allons configurer l'accès FTP sur CentOS 8 en utilisant vsftpd.
Installation et configuration du serveur FTP
Installons le paquet vsftpd.
dnf install vsftpd
Démarrez maintenant le service.
systemctl start vsftpd
Et ajoutez-le à l'exécution automatique.
systemctl enable vsftpd
Ouvrez le /etc/vsftpd/vsftpd.conf fichier.
Vérifiez ces parameters pour s'assurer qu'ils ont les valeurs correctes. Nous interdisons actuellement la connexion anonyme et l'autorisons pour les utilisateurs locaux. L'enregistrement FTP est également autorisé.
anonymous_enable=NO
local_enable=YES
write_enable=YES
Recherchez et décommentez cette ligne pour restreindre l'accès à tout sauf au répertoire personnel.
chroot_local_user=YES
Et ajoutez cette ligne à la fin du fichier pour accorder l'accès aux fichiers de modification et d'écriture via FTP.
allow_writeable_chroot=YES
Maintenant, enregistrez et fermez le fichier et ouvrez /etc/pam.d/vsftpd. Commentez cette ligne dedans :
#auth required pam_shells.so
Si vous utilisez firewalld ajoutez-y le service FTP.
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
Redémarrez le service FTP.
systemctl restart vsftpd
Création d'un utilisateur pour l'accès FTP
Créez un nouvel utilisateur et définissez son mot de passe.
useradd newftpuser
passwd newftpuser
Pour l'empêcher de se connecter via ssh, changer sa coque.
usermod --shell /sbin/nologin newftpuser
Utilisation de SSL/TLS pour un FTP sécurisé
Vous pouvez utiliser SSL/TLS pour chiffrer votre connexion. Pour cela, vous pouvez utiliser Let's Encrypt ou un certificat SSL auto-signé.
Dans le le /etc/vsftpd/vsftpd.conf fichier ajouter les chemins aux clés et activer ssl_activer option.
rsa_cert_file=/etc/letsencrypt/live/domain_name/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/domain_name/privkey.pem
ssl_enable=YES
Et redémarrez le service.
systemctl restart vsftpd