Estoy ejecutando un servidor Ubuntu 10.04 LTS y quiero crear usuarios que solo puedan acceder al servidor desde FTP.
Lo que hice hasta ahora es:
- Instalar en pc
vsftpd - Cree un nuevo usuario con el shell de inicio de sesión predeterminado establecido en
/bin/false
Los usuarios normales en el servidor pueden acceder a su carpeta de inicio a través de ftp, pero los usuarios a quienes se elimina el acceso de shell remoto al configurarlo /bin/falsetampoco pueden iniciar sesión por ftp.
¿No entiendo cómo afecta el acceso de shell al vsftpdservidor? ¿Cómo podría habilitar el acceso ftp sin volver a habilitar el shell?
Actualización:
Encontré esta referencia que dice que debería usar /sbin/nologin(parece estar /usr/sbin/nologinen Ubuntu) y que no debería afectar el acceso ftp pero no funciona en mi caso.

Respuestas:
No sé si es una buena práctica responder mi propia pregunta, pero encontré una solución simple que permite el inicio de sesión ftp.
Necesitaba agregar la línea
al archivo / etc / shells. Justo después de esta modificación, el servidor ftp comenzó a aceptar el inicio de sesión de los usuarios para los que se configuró el shell / usr / sbin / nologin. Por lo tanto, no pueden iniciar sesión a través de ssh, pero funciona con ftp exactamente como yo quería.
Gracias por sus útiles comentarios.
fuente
Establecer el usuario de consola de nuevo a
/bin/false(o algún otro shell no válido), entonces establecen/bin/falseen/etc/shells.Veo un gran problema de seguridad con la configuración
/usr/sbin/nologinen/etc/shells. Le está dando acceso FTP (y quizás otro) a todos los demonios e inicios de sesión que tienen/usr/sbin/nologincomo shell.fuente
/etc/nologin.txtpara que el usuario ftp pueda saber que es solo ftp o algo así.