Teste mais
O teste definitivo, se o sistema operacional não conhecer os dados, como hash de senha, expiração, etc., é:
getent shadow thatuser
Se o sistema operacional puder obter esses dados por qualquer meio (ldap ou algo assim), haverá uma linha de saída não vazia:
getent shadow thatuser
thatuser:x:::::::
Se eu usar o editor de texto para remover uma linha de /etc/shadow
, não haverá saída.
Bloqueio de senhas
Seu bloqueio de senha proposto funcionaria bem se houvesse linhas de sombra ou não. Linha de sombra inexistente significa que um usuário não pode efetuar login com uma senha.
Reencaminhar sombra
Os antigos administradores provavelmente criaram alguns usuários editando manualmente /etc/passwd
. Parece feio, mas não é um erro; OS é projetado para lidar com isso. Um método rápido de preencher novamente a sombra é fazer um loop em todas as entradas passwd desses comandos:
chage -m 0 thatuser
Isso criará as linhas /etc/shadow
ausentes como simplesmente login:x::0:::::
. O efeito colateral é que todas as linhas /etc/shadow
existentes redefinirão o "número mínimo de dias entre as alterações consecutivas de senha" para zero . Mas essa não é uma configuração usada com frequência e você provavelmente sabe se precisa dela (política da empresa, etc.).