Instalamos vsftpd
sudo apt-get install vsftpd
Entramos al archivo de configuración:
nano /etc/vsftpd.conf
Por seguridad se deshabilita el acceso anónimo
anonymous_enable=NO
Para permitir el acceso de los usuarios al servidor FTP local:
local_enable=YES
Y permitirmos la escritura:
write_enable=YES local_umask=022 anon_upload_enable=NO
Para enjaular a los usuarios colocamos esta linea
chroot_local_user=YES
allow_writeable_chroot=YES
Se habilita el modo pasivo:
pasv_enable=Yes pasv_min_port=40000 pasv_max_port=40100
Creamos una shell fantasma, para evitar que ingresen a la consola:
sudo mkdir /bin/dummy
Editamos la shell:
nano /etc/shells
Añadimos al final la shell fantasma:
/bin/dummy
Creamos la carpeta del usuario:
mkdir /home/ftp/carpetaUsuarioftp
Creamos el usuario:
sudo useradd -s /bin/dummy -d /home/ftp/carpetaUsuarioftp usuarioftp
Creamos su contraseña:
sudo passwd usuarioftp
Le damos los permisos a la carpeta
sudo chown usuarioftp /home/ftp/carpetaUsuarioftp
Se reinicia el servicio vsftpd
/etc/init.d/vsftpd restart
ó
sudo service vsftpd restart
y Listo.