Atualizado: 24/10/2024

Obtendo Informações sobre Senha - Linux

O Status da Senha

Além de configurar a senha, o comando passwd também permite verificar o status da senha. Para isso, utilize a opção -S.

Por exemplo, suponha que anteriormente foi criado um usuário chamado "superuser1" e uma senha foi configurada para ele:

programicio@Programicio:~$ sudo useradd superuser1
programicio@Programicio:~$ sudo passwd superuser1
New password: 
Retype new password: 
passwd: password updated successfully

Vamos verificar o status da senha desse usuário:

programicio@Programicio:~$ sudo passwd -S superuser1
superuser1 P 2024-03-07 0 99999 7 -1

O status da senha exibe as seguintes informações:

  • Nome de usuário

  • Data de configuração da senha

  • Número de dias até que a senha possa ser alterada

  • Número de dias após os quais a senha deve ser alterada

  • Número de dias antes da expiração da senha em que o usuário recebe um aviso

  • Número de dias após a expiração da senha até que a conta seja bloqueada

Da mesma forma, é possível obter o status da senha do usuário atual:

programicio@Programicio:~$ passwd -S
programicio P 2024-01-28 0 99999 7 -1

Obtendo Informações do Arquivo /etc/shadow

O arquivo /etc/passwd fornece várias informações sobre o usuário, incluindo sua senha. Por exemplo, ao obter os dados do usuário criado anteriormente, "superuser1":

superuser1:x:1001:1001::/home/superuser1:/bin/sh

O segundo campo, representado pelo símbolo "x", indica que a senha está armazenada no arquivo /etc/shadow. Vamos observar este arquivo, que tem um formato semelhante ao seguinte:

root:*:13669:0:99999:7:::
daemon:*:13669:0:99999:7:::
bin:*:13669:0:99999:7:::
sys:*:13669:0:99999:7:::
sync:!:13669:0:99999:7:::
sssd:!:13669::::::
programicio:$1$Qqn0p2NN$L7W9uL3mweqBa2ggrBhTB0:13669:0:99999:7:::
...

As linhas em /etc/shadow também são divididas em vários campos, separados por dois-pontos. Esses campos são:

  • Login

  • Senha criptografada. Além da própria senha, pode haver o símbolo !, indicando que o login está desativado no momento. Também pode ser usado o símbolo *, que significa uma conta de sistema usada para executar serviços, mas não permite login interativo (tendo, portanto, o mesmo efeito que !).

  • Dias entre 1 de janeiro de 1970 e a data da última alteração da senha.

  • Número mínimo de dias antes que a senha possa ser alterada, que é o período durante o qual o usuário deve usar a mesma senha.

  • Número máximo de dias após os quais a senha deve ser alterada, que é o período durante o qual o usuário pode usar a mesma senha.

  • Número de dias antes da expiração da senha em que o usuário recebe um aviso.

  • Número de dias após a expiração da senha até que a conta seja desativada. (Se isso acontecer, será necessário a intervenção de um administrador para desbloquear a conta)

  • Expiração da conta: dias entre 1 de janeiro de 1970 e a data de desativação da conta.

  • Campo reservado (não utilizado atualmente).

Vamos obter os dados da senha do usuário "superuser1", criado no início do tema:

programicio@Programicio:~$ sudo grep superuser1 /etc/shadow
superuser1:$y$XUwEQCaqGCpg8G87cC2$Dimds3J:19796:0:99999:7:::

Neste caso, temos os seguintes campos:

  • superuser1: login

  • $y$XUwEQCaqGCpg8G87cC2$Dimds3J: senha criptografada

  • 19796: número de dias desde 1 de janeiro de 1970 até a última alteração (ou criação, se não alterada) da senha

  • 0: número mínimo de dias durante os quais o usuário deve usar a senha

  • 99999: número máximo de dias de uso da senha

  • 7: período de aviso antes da expiração da senha

Todos os outros parâmetros não estão especificados.

Vamos supor que removemos a senha do usuário "superuser1" e verificamos novamente o estado da senha:

programicio@Programicio:~$ sudo passwd -d superuser1
passwd: password changed.
programicio@Programicio:~$ sudo grep superuser1 /etc/shadow
superuser1::19796:0:99999:7:::

Agora, a senha está ausente, o que é indicado por dois pontos consecutivos após o nome do usuário ::.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com