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/false
tampoco pueden iniciar sesión por ftp.
¿No entiendo cómo afecta el acceso de shell al vsftpd
servidor? ¿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/nologin
en 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/false
en/etc/shells
.Veo un gran problema de seguridad con la configuración
/usr/sbin/nologin
en/etc/shells
. Le está dando acceso FTP (y quizás otro) a todos los demonios e inicios de sesión que tienen/usr/sbin/nologin
como shell.fuente
/etc/nologin.txt
para que el usuario ftp pueda saber que es solo ftp o algo así.