Cambiar el shell de inicio de sesión no necesariamente impide que los usuarios se autentiquen (excepto en algunos servicios que verifican si se menciona el shell del usuario /etc/shells
).
Es posible que las personas aún puedan autenticarse en los diversos servicios que su sistema proporciona a los usuarios de Unix, y aún pueden estar autorizados para realizar algunas acciones, aunque probablemente no ejecuten comandos arbitrarios directamente.
Cambiar el shell /bin/false
o /usr/sbin/nologin
solo evitará que ejecuten comandos en aquellos servicios que se pueden usar para ejecutar comandos (inicio de sesión de consola, ssh, telnet, rlogin, rexec ...), por lo que afectan la autorización solo para algunos servicios.
Por ssh
ejemplo, eso todavía les permite hacer reenvío de puertos.
passwd -l
deshabilitará la autenticación de contraseña, pero el usuario aún puede usar otros métodos de autenticación (como authorized_keys
con ssh
).
Con pam
en Linux, al menos, se puede utilizar el pam_shells
módulo para restringir la autenticación o autorización a los usuarios con una cáscara permitido (los mencionados en /etc/shells
). Para ssh
, querrá hacerlo a nivel de autorización ( account
) en cuanto a los sshd
usos de autenticación pam
además de otros métodos de autenticación (como authorized_keys
), o puede hacerlo con sshd_config
directivas en /etc/ssh/sshd_config
(como AllowUsers
y amigos).
Sin embargo, tenga en cuenta que agregar algunas restricciones en la autorización global de pam evitará potencialmente ejecutar cron
trabajos como esos usuarios.
/bin/false
Parece más común que/bin/true
.