¿Qué es FTP?
FTP (Protocolo de transferencia de archivos) es un protocolo de red cliente-servidor que permite a los usuarios intercambiar archivos desde y hacia equipos remotos.
FTP utiliza texto sin formato para transferir datos y acceder a ellos. Hay varios servidores FTP de código abierto disponibles para la plataforma del sistema operativo Linux. Los servidores FTP más utilizados son VSFTPD, ProFTPD y PureFTPd. El protocolo FTP utiliza el puerto número 21 para la conexión y el puerto 20 para la transferencia de datos. En el modo pasivo, se utilizan puertos adicionales.
En este tutorial, aprenderemos a configurar y configurar VSFTPD. Es muy seguro y estable y está disponible en el repositorio de paquetes CentOS 8.
Instalar el servidor FTP VSFTP
Para instalar el paquete VSFTPD en CentOS 8, abra un terminal o conéctese a su servidor mediante SSH como usuario root y escriba el siguiente comando:
# dnf install –y vsftpd
Una vez instalado el paquete, inicie y habilite el servicio VSFTPD utilizando 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 mediante el siguiente comando:
# vim /etc/vsftpd/vsftpd.conf
Busque y establezca las siguientes directivas en el mismo:
anonymous_enable=NO # disable anonymous users(Unknown users)local_enable=YES # allow local userswrite_enable=YES # allow ftp write commandslocal_umask=022 # set default umaskdirmessage_enable=YES # enable messages on change directoryxferlog_enable=YES # enable logging of uploads and downloadsconnect_from_port_20=YES # ensure PORT transfer connections from port 20 xferlog_std_format=YES # keep standard log formatlisten=NO # prevent vsftpd run in stand-alone modelisten_ipv6=YES # allow vsftpd to listen on IPv6 socketpam_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 el archivo user_list ubicado en /etc/vsftpd/user_list pueden usar servicios FTP.
Para restringir usuarios en un entorno chroot, utilice las siguientes directivas:Advertisement
chroot_local_user=YES # Create chrooted environment for usersallow_writeable_chroot=YES # Allow write permission to a user on chroot jail directory
Para mantener la restricción del usuario en su directorio personal, use las siguientes directivas:
userlist_enable=YES # enable vsftpd to load usernamesuserlist_deny=NO # allow access to users in the user list
Si desea proporcionar un acceso general a nuestro sistema, agregue esta directiva a su archivo de configuración:
chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list #users in this file list have an overall access
Guarde y cierre el archivo de configuración.
Ahora, cree una chroot_list en el directorio / etc / vsftpd/, utilizando el siguiente comando:
# touch /etc/vsftpd/chroot_list
Agregue solo aquellos usuarios de esa lista a los que desea proporcionar acceso general en el sistema.
Crear un usuario para acceder a servicios FTP
Para crear un usuario para usar el servicio FTP, utilice el siguiente comando:
# useradd user1# passwd user1
Agregue ese usuario en el archivo user_list para restringir un usuario a su directorio personal, use el siguiente comando:
# vim /etc/vsftpd/user_list
Escriba» i » para insertar y escriba ese nombre de usuario, como se muestra en la figura:
Pulse 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 servicio VSFTPD:
# systemctl restart vsftpd
Verifique el estado del servicio FTP con el siguiente comando:
# systemctl status vsftpd
Configurar Firewall para FTP
Para permitir el servicio FTP a través del firewall, utilice el siguiente comando:
# firewall-cmd - - add-service = ftp - - permanent# firewall-cmd - - reload
Probar el servidor FTP desde una máquina Windows
Para conectarse al servidor FTP necesita un software 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:
Host — > Dirección IP o nombre de host.
Nombre de usuario: Nombre de usuario FTP (En mi caso es user1)
Contraseña
Puerto: 21
Después de conectarse correctamente, puede cargar / descargar archivos de acuerdo con 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 personal y cómo concederles acceso de lectura/escritura. También vimos cómo dar al usuario específico acceso general al sistema.