A alteração do shell de login não impede necessariamente que os usuários se autentiquem (exceto em alguns serviços que verificam se o shell do usuário é mencionado em /etc/shells ).
As pessoas ainda podem se autenticar nos vários serviços que o seu sistema oferece aos usuários Unix, e ainda podem estar autorizados a realizar algumas ações, embora provavelmente não executem comandos arbitrários diretamente.
A alteração do shell para /bin/false ou /usr/sbin/nologin só impedirá a execução de comandos nos serviços que podem ser usados para executar comandos (login do console, ssh, telnet, rlogin, rexec ...), portanto, < em> autorização apenas para alguns serviços.
Por ssh , por exemplo, isso ainda permite que eles façam o encaminhamento de porta.
passwd -l desativará a autenticação por senha, mas o usuário ainda poderá usar outros métodos de autenticação (como authorized_keys com ssh ).
Com pam no Linux, pelo menos, você pode usar o módulo pam_shells para restringir autenticação ou autorização a usuários com um shell permitido (aqueles mencionados em /etc/shells ). Para ssh , você desejará fazê-lo no nível de autorização ( account ) da autenticação sshd usa pam além de para outros métodos de autenticação (como authorized_keys ), ou você pode fazer isso com sshd_config diretivas em /etc/ssh/sshd_config (como AllowUsers e amigos).
No entanto, tenha em atenção que a adição de algumas restrições à autorização global de pam irá potencialmente impedir a execução de cron empregos como esses utilizadores.