Muito disso depende da sua definição de "logon" - tecnicamente qualquer usuário que exista no /etc/passwd
& /etc/shadow
é um "usuário válido" e, teoricamente, poderia efetuar logon nas circunstâncias certas.
Os métodos que você está falando se enquadram nas seguintes categorias amplas:
Usuários com contas "bloqueadas"
Um usuário cuja senha está definida como *
, !
ou algum outro hash que nunca corresponderá é "bloqueado" (nos dias de sol em que a convenção costumava ser *LK*
para "Bloqueado").
Esses usuários não podem fazer login digitando uma senha , mas ainda podem fazer login usando outros mecanismos de autenticação (chaves SSH, por exemplo).
Usuários com um shell "não interativo"
Um usuário cuja conta possui um "shell não interativo" ( /bin/false
, /sbin/nologin
) não pode fazer login de maneira interativa - ou seja, eles não podem obter um prompt de shell para executar comandos (isso também impede o SSH execução de comando se o usuário tiver chaves SSH no sistema).
Esses usuários ainda podem fazer login para fazer coisas como ler / enviar email (via POP / IMAP e SMTP AUTH). Definir um shell não interativo para usuários que nunca precisam usar o shell (e para a maioria das "contas de serviço") geralmente é considerado uma boa prática.
Portanto, dependendo de seus critérios para "poder fazer login", convém verificar uma ou ambas as coisas.
Além do acima, os usuários podem ser bloqueados em um sistema, mesmo que a entrada de senha pareça correta usando vários métodos diferentes.
O /etc/security/access.conf pode ser usado para limitar quem pode fazer login.
Existem muitos módulos PAM que podem ser configurados para restringir usuários específicos ou modificar o comportamento de login com base na necessidade. (ou seja, nenhum diretório pessoal no servidor proíbe o login.)
fonte