Instalar y configurar Servidor FTP en Rocky Linux (Red Hat Linux)

Configurar un servidor FTP es un paso fundamental para la gestión de archivos.
Identificación del entorno
Necesitamos saber exactamente sobre qué estamos trabajando.
Nmbre de host
hostnameSistema Operativo y versión
cat /etc/os-release
Paso 1 Cambio de nombre de host (Hostname)
Para que el sistema reconozca el nuevo nombre de forma permanente y se refleje en los servicios que instalaremos, ejecutar:
sudo hostnamectl set-hostname senati.ftp
Ejecuta nuevamente hostname y verifica el estado general con:
hostnamectl status
Paso 2: Actualización del Sistema y Repositorios
Antes de instalar cualquier servicio (especialmente uno de transferencia de archivos como FTP), es vital asegurarnos de que los índices de paquetes y el sistema base estén al día para evitar conflictos de dependencias.
sudo dnf update -yPaso 3: Instalación de vsftpd
Vamos a instalar vsftpd (Very Secure FTP Daemon). Es el estándar en entornos RHEL/Rocky Linux por ser ligero, estable y, como su nombre indica, centrado en la seguridad.
sudo dnf install vsftpd -y
Habilitar, iniciar y comprobar servicio:
sudo systemctl enable vsftpdsudo systemctl start vsftpdsudo systemctl status vsftpd
Paso 4: Configuración del Firewall (firewalld)
En Rocky Linux, el firewall viene activo por defecto y bloquea cualquier conexión entrante que no hayamos autorizado explícitamente. Necesitamos permitir el tráfico del servicio FTP y recargar la configuración.
Permitir el servicio:
sudo firewall-cmd --permanent --add-service=ftpRecargar Firewall
sudo firewall-cmd --reloadVerificar el servicio
sudo firewall-cmd --list-services
Paso 5: Creación del Usuario de FTP
Por seguridad, no es recomendable usar el usuario root. Vamos a crear un usuario dedicado para que realice las transferencias de archivos.
Crear usuario y asignar contraseña:
sudo adduser senati
sudo passwd senati
Crear archivo de prueba en carpeta local del usuario ftp:
sudo -u senati touch /home/senati_user/test_ftp.txt

Paso 6: Configuracion
sudo nano /etc/vsftpd/vsftpd.confBusca y asegúrate de que estas líneas estén configuradas así (si tienen un # al principio, quítalo para habilitarlas)
anonymous_enable=NO(Para que nadie entre sin contraseña).local_enable=YES(Para permitir usuarios del sistema comosenati_user).write_enable=YES(Para que el usuario pueda subir archivos, no solo verlos).

Reinicia Servicio:
sudo systemctl restart vsftpdsudo systemctl status vsftpd
Paso 7: Prueba de Conexión Local
Antes de intentar conectar desde otra computadora, debemos asegurarnos de que el servidor responde a sí mismo. Para esto, usaremos el cliente FTP básico por línea de comandos.
Instalar el cliente FTP:
sudo dnf install ftp -y
Intentar la conexión al localhost
ftp localhost
Paso 8: Configuración de SELinux
Habilitar el acceso a directorios personales. Este comando le dice a SELinux: «Confío en vsftpd para que gestione los archivos según los permisos de Linux que ya configuramos»
sudo setsebool -P ftpd_full_access 1Confirma que el interruptor está encendido
getsebool ftpd_full_accessSolo para estar 100% seguros de que los archivos creados manualmente tienen la «etiqueta» correcta de SELinux
sudo restorecon -Rv /home/senati
Verificación final del paso:
Intenta entrar una última vez desde la terminal:
ftp localhost- Logueate como
senati_user. - Prueba a crear un directorio de prueba estando dentro del FTP:
mkdir test_directory

Paso 9: Cconexión externa desde Windows (CMD)
Ejecuta un ping a tu servidor Rocky, en nuestro caso la ip de Rocky es 192.168.56.110:
ping 192.168.56.110
Prueba de conexión desde cmd en Windows
ftp 192.168.56.110- Usuario:
senati - Contraseña: (La que asigaste).

Paso 10: Conectarnos desde explorador de archivos
ftp://192.168.56.110Ingresar tus credenciales y verificar


Listo, ya tenemos un servidor FTP en Rocky Linux
