¿Qué es FTP?
FTP (Protocolo de transferencia de archivos) es un protocolo de red cliente-servidor que permite a los usuarios intercambiar archivos hacia y desde computadoras remotas.
FTP utiliza texto sin formato para transferir datos y acceder a datos. Hay varios servidores FTP de código abierto diferentes disponibles para la plataforma del sistema operativo Linux. Los servidores FTP más utilizados son VSFTPD, ProFTPD y PureFTPD. El protocolo FTP utiliza el número de puerto 21 para la conexión y el puerto 20 para la transferencia de datos. En modo pasivo, se utilizan puertos adicionales.
En este tutorial, aprenderemos a instalar y configurar VSFTPD. Es muy seguro y estable y está disponible en el repositorio de paquetes de CentOS 8.
Instalar servidor FTP VSFTP
Para instalar el paquete VSFTPD en CentOS 8, abra una terminal o conéctese a su servidor mediante SSH como usuario raíz y escriba el siguiente comando:
# dnf install –y vsftpd
Una vez que el paquete esté instalado, inicie y habilite el servicio VSFTPD usando el siguiente comando:
# systemctl enable vsftpd # systemctl start vsftpd
Tome una copia del archivo de configuración original /etc/vsftpd/vsftpd.conf escribiendo el siguiente comando:
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
Ahora edite el archivo de configuración usando el siguiente comando:
# vim /etc/vsftpd/vsftpd.conf
Encuentre y configure las siguientes directivas allí:
anonymous_enable=NO # disable anonymous users(Unknown users) local_enable=YES # allow local users write_enable=YES # allow ftp write commands local_umask=022 # set default umask dirmessage_enable=YES # enable messages on change directory xferlog_enable=YES # enable logging of uploads and downloads connect_from_port_20=YES # ensure PORT transfer connections from port 20 xferlog_std_format=YES # keep standard log format listen=NO # prevent vsftpd run in stand-alone mode listen_ipv6=YES # allow vsftpd to listen on IPv6 socket pam_service_name=vsftpd # set PAM Service name to vsftpd
Configurar la lista de usuarios en el servidor FTP
De forma predeterminada, todos los usuarios que están en la lista_de_usuarios archivo ubicado en /etc/vsftpd/user_list están permitidos para usar servicios FTP.
Para restringir usuarios en un entorno chroot , use las siguientes directivas:
chroot_local_user=YES # Create chrooted environment for users allow_writeable_chroot=YES # Allow write permission to a user on chroot jail directory
Para mantener al usuario restringido a su directorio de inicio, use las siguientes directivas:
userlist_enable=YES # enable vsftpd to load usernames userlist_deny=NO # allow access to users in the user list
Si desea proporcionar un acceso general a nuestro sistema, agregue esta directiva en su archivo de configuración:
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #users in this file list have an overall access
Guarde y cierre el archivo de configuración.
Ahora, crea una chroot_list en /etc/vsftpd/ directorio, usando el siguiente comando:
# touch /etc/vsftpd/chroot_list
Agregue solo aquellos usuarios en esa lista a los que desea proporcionar acceso general al sistema.
Cree un usuario para acceder a los Servicios FTP
Para crear un usuario para usar el servicio FTP, use el siguiente comando:
# useradd user1 # passwd user1
Agregue ese usuario en user_list archivo para restringir a un usuario a su directorio de inicio, use el siguiente comando:
# vim /etc/vsftpd/user_list
Escriba "i ” para insertar y escribir ese nombre de usuario, como se muestra en la figura:
Presione ESC y escriba :wq! para guardar el archivo.
Si desea proporcionar a un usuario específico un acceso general al sistema, agregue ese usuario en /etc/vsftpd/chroot_list.
Reinicie el VSFTPD Servicio:
# systemctl restart vsftpd
Verifique el estado del Servicio FTP usando el siguiente comando:
# systemctl status vsftpd
Configurar cortafuegos para FTP
Para permitir el servicio FTP a través del cortafuegos, use el siguiente comando:
# firewall-cmd - - add-service = ftp - - permanent # firewall-cmd - - reload
Prueba del servidor FTP desde una máquina con Windows
Para conectarse al servidor FTP necesita un software de cliente. El software más utilizado para FTP es FileZilla , WINSCP, etc. Estoy usando FileZilla para la conexión.
Abra su software de cliente FTP, ingrese los siguientes detalles para conectarse:
Anfitrión —> Dirección IP o nombre de host.
Nombre de usuario :Nombre de usuario FTP (En mi caso es usuario1)
Contraseña
Puerto:21
Después de conectarse con éxito, puede cargar/descargar archivos según sus necesidades.
Conclusión
En este tutorial aprendimos cómo configurar un servidor FTP en Centos 8, cómo restringir a los usuarios a su directorio de inicio y cómo otorgarles acceso de lectura/escritura. También vimos cómo dar acceso general al sistema al usuario específico.