Não importa. O comportamento que você está vendo é específico da implementação . É por isso que usermod
faz uma coisa e passwd
faz outra coisa. Eles são implementações diferentes. Veja o que acontece no Solaris, AIX, HP-UX, True64, Xenix ...
O campo de senha é uma string criptografada ou em hash. Quando o usuário fornece uma senha, ela é criptografada ou hash de acordo com o algoritmo especificado no campo de senha. A autenticação só será bem-sucedida se os formulários crypted / hashed fornecidos e armazenados corresponderem.
Um único !
ou um duplo !!
nunca pode corresponder a qualquer senha criptografada. Em outras palavras, não há nenhuma entrada que já tenha sido criptografada para o valor de resultado !
ou !!
. Qualquer string que nunca poderia ser o resultado hash "bloqueará" a conta. Pode ser também foo
ou Mr. Spock
.
Observe também este comentário sob o sinal --lock
em passwd(1)
no Linux:
Note that this does not disable the account. The user may still be able to login using another authentication token (e.g. an SSH key). To disable the account, administrators should use
usermod --expiredate 1
(this set the account's expire date to Jan 2, 1970).