Senhas shadow e política de senha


No passado, as senhas criptografadas eram armazenadas no arquivo /etc/passwd, que podia ser lido por todos. Isso era considerado adequado até que ataques de dicionário a senhas criptografadas se tornaram comuns.

As senhas criptografadas foram movidas para o arquivo /etc/shadow, que somente o usuário root tem acesso.

Como o arquivo /etc/passwd, cada usuário tem uma entrada no arquivo /etc/shadow. Um exemplo de entrada do arquivo /etc/shadow tem nove campos separados por dois-pontos:

[root@host ~]# cat /etc/shadow
...output omitted...
user03:$6$CSsXsd3rwghsdfarf:17933:0:99999:7:2:18113:

Cada campo deste bloco de código é separado por dois pontos:

  • user03 : nome da conta de usuário.

  • $6$CSsXsd3rwghsdfarf : senha criptografada do usuário.

  • 17933 : os dias a partir da época da última alteração na senha, em que a epoch é 1970-01-01 no fuso horário UTC.

  • 0 : o número mínimo de dias desde a última alteração de senha antes que o usuário possa alterá-la novamente.

  • 99999 : o número máximo de dias sem uma alteração de senha antes que a senha expire. Um campo vazio significa que a senha nunca expira.

  • 7 : o número de dias até o usuário ser avisado de que sua senha expirará.

  • 2 : o número de dias sem atividade, a partir do dia em que a senha expirou, antes de a conta ser automaticamente bloqueada.

  • 18113 : o dia em que a conta expira em dias desde a epoch. Um campo vazio significa que a conta nunca expira.

  • O último campo geralmente está vazio e reservado para uso futuro.

Referências