Cómo configurar el acceso FTP en CentOS 8
Un servidor FTP es útil para administrar sitios web y compartir archivos. En este tutorial, configuraremos el acceso FTP en CentOS 8 usando vsftpd.
Instalación y configuración del servidor FTP
Instalemos el paquete vsftpd.
dnf install vsftpd
Ahora inicie el servicio.
systemctl start vsftpd
Y agréguelo a la ejecución automática.
systemctl enable vsftpd
Abra la /etc/vsftpd/vsftpd.conf archivo.
Mira estos parametros para asegurarse de que tienen los valores correctos. Actualmente prohibimos el inicio de sesión anónimo y lo permitimos para usuarios locales. También se permite la grabación FTP.
anonymous_enable=NO
local_enable=YES
write_enable=YES
Busque y descomente esta línea para restringir el acceso a todo excepto al directorio de inicio.
chroot_local_user=YES
Y agregue esta línea al final del archivo para otorgar acceso para cambiar y escribir archivos a través de FTP.
allow_writeable_chroot=YES
Ahora guarde y cierre el archivo y abra /etc/pam.d/vsftpd. Comenta esta línea en él:
#auth required pam_shells.so
Si utiliza firewalld agréguele el servicio FTP.
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
Reinicie el servicio FTP.
systemctl restart vsftpd
Creación de un usuario para acceso FTP
Cree un nuevo usuario y establezca la contraseña para él.
useradd newftpuser
passwd newftpuser
Para evitar que inicie sesión a través de ssh, cambia su caparazón.
usermod --shell /sbin/nologin newftpuser
Uso de SSL/TLS para FTP seguro
Puede usar SSL/TLS para cifrar su conexión. Para ello, puede utilizar Let's Encrypt o un certificado SSL autofirmado.
En el /etc/vsftpd/vsftpd.conf archivo agregue las rutas a las claves y habilite ssl_habilitar .
rsa_cert_file=/etc/letsencrypt/live/domain_name/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/domain_name/privkey.pem
ssl_enable=YES
Y reiniciar el servicio.
systemctl restart vsftpd