En este tutorial, le mostraremos cómo crear fácilmente un servidor FTP con usuarios virtuales utilizando el demonio vsFTP en Debian 8.
Lo primero es lo primero. Actualice su VPS Debian:
# apt-get update && apt-get upgrade
Si no tiene un servidor web Apache2 o si está usando NGINX, deberá instalar apache2-utils
que se necesita para generar contraseñas para los usuarios.
# apt-get install apache2-utils
Instale el servicio vsftpd:
# apt-get install vsftpd libpam-pwdfile
Edite el archivo de configuración vsftpd y elimine los comentarios de las siguientes líneas. Usa vim
o nano
. Las líneas que no están presentes en el archivo conf, colóquelas al final.
# vim /etc/vsftpd.conf listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 nopriv_user=vsftpd chroot_local_user=YES allow_writeable_chroot=yes guest_username=vsftpd virtual_use_local_privs=YES guest_enable=YES user_sub_token=$USER local_root=/var/www/$USER hide_ids=YES # Exclude this if you are doing this guide on your own private server seccomp_sandbox=NO
A continuación, debemos modificar nuestro /etc/pam.d/vsftpd
para comprobar el archivo de usuarios/contraseñas que estamos a punto de crear.
Primero, cree una copia de seguridad del archivo y luego edite la existente:
# cp /etc/pam.d/vsftpd{,.bak} # vim /etc/pam.d/vsftpd
Elimine todo del archivo y agregue estas líneas en su lugar:
auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd account required pam_permit.so
Cree el usuario principal que usarán los usuarios virtuales para autenticarse:
# useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
Una vez hecho esto, podemos crear nuestro archivo de usuarios/contraseñas.
Nota:Las contraseñas utilizadas por este método pueden tener hasta 8 caracteres. Si desea que vsftpd lea contraseñas más seguras, es posible que desee buscar un módulo pam diferente.
# htpasswd -cd /etc/ftpd.passwd rosetest1
Agregue otro usuario y agréguelo al archivo ftpd.passwd. El -c
la bandera se omite aquí.
# htpasswd -d /etc/ftpd.passwd rosetest2
A continuación, agregue los directorios para los usuarios, ya que vsftpd no los creará automáticamente.
## For rosetest1 # mkdir /var/www/rosetest1 # chown vsftpd:nogroup /var/www/rosetest1 # chmod +w /var/www/rosetest1 ## For rosetest2 # mkdir /var/www/rosetest2 # chown vsftpd:nogroup /var/www/rosetest2 # chmod +w /var/www/rosetest2
Finalmente, inicie el demonio vsftp y configúrelo para que se inicie automáticamente al arrancar el sistema.
# systemctl start vsftpd && systemctl enable vsftpd
Verifique el estado para asegurarse de que el servicio se haya iniciado:
# systemctl status vsftpd ● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled) Active: active (running) since Sat 2016-12-03 11:07:30 CST; 23min ago Main PID: 5316 (vsftpd) CGroup: /system.slice/vsftpd.service ├─5316 /usr/sbin/vsftpd /etc/vsftpd.conf ├─5455 /usr/sbin/vsftpd /etc/vsftpd.conf └─5457 /usr/sbin/vsftpd /etc/vsftpd.conf
Prueba tu configuración
Use FileZilla o WinSCP para iniciar sesión en su VPS usando los usuarios y contraseñas que creó anteriormente.
Cree un directorio de prueba y un archivo de prueba de los clientes.
En el servidor, verifique que los archivos se hayan creado correctamente con :
# ls -l /var/www/rosetest1 # ls -l /var/www/rosetest2
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que configuren su servidor FTP. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.