Instalar vsftpd (Very Secure FTP Daemon) - Servidores Virtuales Privados

Inicio » Servidores Virtuales Privados


Esta guía explica cómo instalar, configurar y habilitar el servicio vsftpd (Very Secure FTP Daemon) en Ubuntu 22.04 y AlmaLinux 8, utilizando los procedimientos más seguros y actualizados.


1. Instalación en Ubuntu 22.04

Paso 1: Actualizar los repositorios

sudo apt update
sudo apt upgrade -y

Paso 2: Instalar vsftpd

sudo apt install vsftpd -y

Paso 3: Habilitar y arrancar el servicio

sudo systemctl enable vsftpd
sudo systemctl start vsftpd

Paso 4: Verificar el estado del servicio

sudo systemctl status vsftpd

Paso 5: Configurar el firewall

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload

Esto permite el tráfico para las conexiones activas y pasivas de FTP.


2. Instalación en AlmaLinux 8

Paso 1: Actualizar el sistema

sudo dnf update -y

Paso 2: Instalar vsftpd

sudo dnf install vsftpd -y

Paso 3: Habilitar y arrancar el servicio

sudo systemctl enable vsftpd
sudo systemctl start vsftpd

Paso 4: Verificar que el servicio esté activo

sudo systemctl status vsftpd

Paso 5: Configurar el firewall

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=40000-50000/tcp
sudo firewall-cmd --reload

3. Configuración básica de vsftpd

Paso 1: Hacer una copia de seguridad del archivo de configuración

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup

Paso 2: Editar el archivo de configuración

sudo nano /etc/vsftpd.conf

Paso 3: Asegurar la configuración básica (recomendado)

Verifica o agrega las siguientes líneas dentro del archivo /etc/vsftpd.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_min_port=40000
pasv_max_port=50000

Paso 4: Reiniciar el servicio

sudo systemctl restart vsftpd

Paso 5: Crear un usuario FTP (ejemplo)

sudo adduser ftpuser
sudo passwd ftpuser

Paso 6: Asignar permisos

sudo mkdir /home/ftpuser/ftp
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp

sudo mkdir /home/ftpuser/ftp/upload
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload

Esto permite que el usuario ftpuser suba archivos únicamente dentro del directorio upload.


4. Verificación

Prueba la conexión FTP desde un cliente (por ejemplo, FileZilla) usando:

  • Host: tu_ip_servidor
  • Usuario: ftpuser
  • Contraseña: la que definiste
  • Puerto: 21

Si la conexión es exitosa, el servidor FTP está funcionando correctamente.


5. Desinstalar vsftpd (opcional)

En Ubuntu:

sudo apt remove vsftpd -y
sudo apt autoremove -y

En AlmaLinux:

sudo dnf remove vsftpd -y
BOT