Hemen zaude

Configurar vsftpd como servidor FTP

Queremos tener un servidor ftp que tenga un acceso anonimo y además acceso a las cuentas que queramos del sistema.

Además queremos que las cuentas locales con acceso ftp no puedan hacer login en el servidor (por si acaso, ya que las contraseñas por ftp van en claro)

Tampoco queremos que los usuarios ftp sean curiosos y puedan leer todos los directorios del sistema para los que haya acceso en lectura a todos los usuarios. Queremos que se quede la sesión de ftp en el directorio home del usuario ftp.

Manos a la obra:

- Instalamos el vsftpd (un servidor de ftp muy ligero y seguro)

apt-get install vsftpd

- Ahora configuramos el vsftpd con su fichero de configuración: /etc/vsftpd.conf dejandolo como a continuacion:

listen=YES
#Para el acceso anónimo
anonymous_enable=YES
#Para que los usuarios locales puedan entrar
local_enable=YES
#Para poder escribir si tienes permisos.
write_enable=YES
#Para que el usuario anónimo pueda escribir
anon_upload_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
# Para crear una jaula chroot por cada conexión que deje al usuario aislado en su propio home.
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

Ahora creamos un usuario local:
useradd misusario

Y le cambiamos el shell editándo el /etc/passwd dejando el shell asignado al usuario como /bin/false :
aitor:x:1009:1009::/home/aitor:/bin/false

Ahora añadimos el shell /bin/false a los shells admitidos por el sistema añadiendo "/bin/false" al fichero /etc/shells

Por supuesto hay que poner al usuario como propietario de los ficheros de su directorio home.

et voilá, un servidor de ftp ligero y seguro en un santiamén!

Aitor C