'!' e '!!' significam essencialmente a mesma coisa, mas ferramentas diferentes usam uma ou outra, passwd -l
por exemplo, usa um par de pontos de exclamação. usermod -L
por outro lado, usa apenas um.
Normalmente, contas com '*' nunca tiveram uma senha (como em, sempre foram desativadas para o login). Isso é diferente de uma conta sem entrada de hash de senha; nesse caso, nenhuma senha é necessária (e muitas vezes nem será solicitada), o que é quase sempre MAU !.
Se for um hash inválido (que são todos os '*', '!' E '!!'), ele bloqueia efetivamente a conta e evita logins nessa conta. Geralmente, isso é aprimorado ao definir o shell da conta para algo como / bin / false ou / sbin / nologin no arquivo / etc / passwd
Você sempre descobrirá que, se a conta de um usuário for bloqueada após ter uma senha válida definida anteriormente, esse hash de senha possui pontos de exclamação com o prefixo, então quando a conta é desbloqueada, a senha volta a funcionar novamente.
*
nessa coluna, ainda poderá fazer login perfeitamente usando a autenticação de chave pública. Considerando que um!
realmente bloqueia todos os logins para esse usuário.