Implementación y Configuración de Servidores FTP con vsftpd en Linux

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 2,81 KB

1. Instalación del Servidor

  • Actualizar el sistema: sudo apt update
  • Instalar vsftpd: sudo apt install vsftpd

2. Configuración: Usuario Anónimo

A. Gestión de Carpetas y Permisos

  • Acceder al directorio: cd /srv/ftp/
  • Crear archivo de prueba: sudo nano hola1.txt
  • Crear carpeta de archivos: sudo mkdir archivos1
  • Asignar propietario al usuario ftp: sudo chown ftp:ftp archivos1

B. Edición de /etc/vsftpd.conf

Modifica el archivo con sudo nano /etc/vsftpd.conf y verifica los siguientes parámetros:

  • Escucha: listen=NO y listen_ipv6=YES
  • Habilitar anónimo: anonymous_enable=YES
  • Usuarios locales y escritura: local_enable=YES y write_enable=YES
  • Subida anónima: anon_upload_enable=YES
  • Propietario de subidas: chown_uploads=YES y chown_username=ftp
  • Raíz del anónimo: anon_root=/srv/ftp

Importante: Tras cualquier cambio en la configuración, reinicia el servicio con sudo systemctl restart vsftpd.

3. Configuración: Usuarios Locales

Pasos para configurar un usuario con acceso restringido (chroot) y shell dedicada.

A. Preparación del Entorno

  • Crear shell falsa: sudo touch /bin/ftponly
  • Registrar shell: sudo nano /etc/shells y añade al final la línea /bin/ftponly.
  • Crear estructura de directorios: sudo mkdir -p /home/ftp/cliente1/archivos2
  • Crear usuario: sudo useradd -d /home/ftp/cliente1 -s /bin/ftponly cliente1
  • Asignar contraseña: sudo passwd cliente1

B. Permisos de Seguridad

  • Propietario de la raíz (sin escritura): sudo chown nobody:nogroup /home/ftp/cliente1/
  • Quitar permiso de escritura en raíz: sudo chmod a-w /home/ftp/cliente1/
  • Carpeta de trabajo (con escritura): sudo chown cliente1:ftp /home/ftp/cliente1/archivos2/

C. Ajustes en vsftpd.conf para Locales

Asegúrate de tener estas líneas activas:

  • Enjaular usuarios: chroot_local_user=YES
  • Habilitar locales: local_enable=YES
  • Habilitar escritura: write_enable=YES

4. Configuración: FTP Cifrado (SSL/TLS)

  • Ruta del certificado: rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
  • Ruta de la clave: rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
  • Activar SSL: ssl_enable=YES

Entradas relacionadas: