Os dejo con un nuevo artículo de Aitor Cuartango:
«Queremos tener un servidor ftp que tenga un acceso anónimo 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. Esto es, que vsftp cree una jaula chroot para los usuarios que se conecten.
Manos a la obra:
– Instalamos el vsftpd (un servidor de ftp muy ligero y seguro)
– Ahora configuramos el vsftpd con su fichero de configuración: /etc/vsftpd.conf dejándolo como a continuación:
#Para habilitar el servicio ftp
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 |
#Para habilitar el servicio ftp
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:
Y le cambiamos el shell editando 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
Y arrancamos el servicio:
et voilá, un servidor de ftp ligero y seguro en un santiamén!