/sbin/nologin vs. /bin/false

9 de julio de 2008

Siempre había leído que si quieres una cuenta de usuario en Linux que no tenga acceso a shell puedes poner /sbin/nologin o /bin/false, indiferentemente. Aunque esto es cierto hay pequeñas diferencias que he descubierto hoy mientras montaba un vsftpd para un servidor interno a mi LAN.

El más restrictivo es el /bin/false ya que cierra cualquier entrada por consola, ssh y ftp. En cambio /sbin/nologin evita la entrada por consola y ssh, pero no por ftp en el caso que este cuanta tenga acceso por ftp. Además /sbin/nologin muestra el mensaje "This account is currently not available" a diferencia de /bin/false que no muestra absolutamente nada. Este mensaje se puede configurar creando el archivo de texto /etc/nologin.txt.

3 comentarios:

ƒ|2§4|_\/4|)0|2 [FRSalvadoR] dijo...

Hola, gracias por tu interesante nota. A propósito de vsftpd, sabes a qué se debe el error "500 OOPS: cannot change directory:/home/ftpdocs 500 OOPS: child died"
Tengo selinux deshabilitado y los permisos de ftpuser son 760 para accesar a "/home/ftpdocs" y "/home/ftpdocs/*". Cualquier ayuda es bienvenida. Gracias.

ƒ|2§4|_\/4|)0|2 [FRSalvadoR] dijo...

Ea! Qué he estado a puro ensayo y error con esta vaina y he logrado lo siguiente:

Cambiando permisos sobre la carpeta compartida ya tengo acceso al servidor FTP, con permisos para upload y download en el mismo.

El famoso error "500 OOPS: cannot change directory:/home/ftpdocs 500 OOPS: child died" se superó con el permiso 770 sobre la carpeta /home/ftpdocs compartida para ftp.
Me queda la sospecha de que cuando se intenta accesar a un folder ftp, se ejecuta la carpeta y por ello requiere el permiso 7. Saludos.

Manu dijo...

Buenas,
He tenido problemas con la shell /bin/false y la instalación de VSFTPD. Un matiz sobre lo que dices de esa shell: http://www.ubuntu-es.org/node/6031#.UA0guLRUw8p

Un saludo.