Se o campo de senha contiver alguma string que não é um resultado válido de crypt (3), por exemplo ! ou * , o usuário não poderá usar uma senha unix para efetuar login (mas o usuário pode efetuar o login no sistema por outros meios, por exemplo, login baseado em tecla.
crypt() é a função de criptografia de senha. Ele é baseado no algoritmo do Padrão de Criptografia de Dados com variações pretendidas (entre outras coisas) para desencorajar o uso de implementações de hardware de uma chave de pesquisa de chave, a senha digitada do usuário. Salt é uma string de dois caracteres escolhida do conjunto [a–zA–Z0–9./] . A seguir estão alguns valores de exceção de status.
- "NP" ou "!" ou null - Sem senha, a conta está bloqueada, nenhum usuário pode efetuar login.
- "LK" ou "*" - a conta está bloqueada, o usuário não poderá fazer login
- "!!" - é uma convenção da Red Hat que significa que uma senha nunca foi definida antes. É tratado da mesma forma que "!"
Fontes: man shadow e man 3 crypt , Arquivo de Sombra da Wikipedia e Red Hat .