A configuração de expiração de senha afeta apenas o futuro, não pode alterar o passado. Quando uma senha expirou, ela expirou. Você não pode mudar o fato de que isso já aconteceu.
CentOS 5.x
Eu tenho uma conta de usuário antiga que tinha uma política de senha em vigor que expirou.
[foo@foobox ~]# chage -l foouser
Minimum: 0
Maximum: 90
Warning: 5
Inactive: 5
Last Change: Jan 02, 2012
Password Expires: Apr 02, 2012
Password Inactive: Apr 07, 2012
Account Expires: Never
Eu queria alterar a senha para nunca expirar (o sistema é apenas interno e a própria conta tem privilégios muito limitados).
Eu achei que executar [foo@foobox ~]# chage -M 0 foouser
faria isso ... Quando eu verifico a saída do chage, tudo fica bem:
[foo@foobox ~]# chage -l foouser
Minimum: 0
Maximum: 0
Warning: 5
Inactive: 5
Last Change: Jan 02, 2012
Password Expires: Never
Password Inactive: Never
Account Expires: Never
Depois de fazer isso, ainda não consegui fazer o login usando a mesma senha.
Para que isso funcione novamente, eu precisava fazer o acompanhamento com passwd foouser
e definir a mesma senha novamente.
Minha pergunta é: por que eu tive que executar o passwd? A senha anterior expirada não é restabelecida quando eu definir a expiração da senha para nunca?