He visto pocos administradores de sistemas usando /sbin/nologin
y pocos usan /bin/false
para denegar el acceso de shell a un usuario en particular en máquinas Unix. Pero me he estado preguntando cuál es la diferencia entre /bin/false
&/sbin/nologin
y cuál es la forma correcta de denegar el acceso de un shell a un usuario. Bueno, este tutorial explicará cuál es la diferencia entre /bin/false &/sbin/nologin .
¿Cuál es la diferencia entre /bin/false y /sbin/nologin?
En primer lugar, debo decir que en términos de funcionalidad no hay diferencia entre /bin/false
&/sbin/nologin
. Significa que ambos niegan el acceso de un shell a una cuenta de usuario en particular.
Uso general de /sbin/login y /bin/false
test:x:2935:2936::/home/test:/sbin/nologin
test:x:2935:2936::/home/test:/bin/false
Pero hay una pequeña diferencia –
/bin/false
no hace nada y simplemente sale con un código de estado que indica un error cuando un usuario intenta iniciar sesión en la máquina. No muestra ningún mensaje que indique que la cuenta de usuario no tiene acceso de shell.
Mientras que, /sbin/nologin
niega cortésmente un acceso de shell para una cuenta de usuario en particular y existe con un código de estado distinto de cero. Por ejemplo, cuando una cuenta de usuario se establece en /sbin/nologin
como shell, luego nologin
muestra 'Esta cuenta no está disponible actualmente ‘.
#su - test This account is currently not available.
nologin
también puede leer un mensaje personalizado desde /etc/nologin.txt
, si está presente.
#vim /etc/nologin.txt
Ingrese un mensaje personalizado que diga "Esta no es una cuenta de inicio de sesión válida:administrador “.
Ambos /bin/false
&/sbin/nologin
registrará los intentos de inicio de sesión en /var/log/secure
.
Oct 26 09:43:37 test.tg.in su: pam_unix(su-l:session): session opened for user test Oct 26 09:43:37 test.tg.in su: pam_unix(su-l:session): session closed for user test
Mirando las páginas del manual de nologin y falso .
# man nologin # man false
Más información sobre las prácticas recomendadas para proteger el sistema operativo, la base de datos, el servidor web y WordPress .
nologin o false, ¿cuál es mejor?
false
es un enfoque tradicional, que llegó mucho antes de nologin
. /sbin/nologin
tiene la capacidad de mostrar un mensaje personalizado, por lo que cualquier administrador querría usar eso. En cuanto a la funcionalidad, ambos hacen lo mismo de no permitir el acceso de shell.
De forma predeterminada, MySQL se ejecuta como usuario de mysql con acceso de shell /bin/bash.
Entonces, ¿cuál estás usando? Cuéntanos en la sección de comentarios.