为什么在使用chage将密码过期更改为“never”之后,linux帐户不接受旧密码?

CentOS 5.x

我有一个旧的用户帐户,有一个实际上是过期的密码政策。

[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 

我想更改密码永不过期(系统只是内部的,帐户本身的权限非常有限)。

我认为运行[foo@foobox ~]# chage -M 0 foouser会这样做…当我检查chage输出时,它看起来很好:

 [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 

虽然这样做,我仍然无法使用相同的密码作为foouserlogin。

为了再次得到这个工作,我需要跟进密码,并重新设置相同的密码。

我的问题是:为什么我必须运行passwd? 当我将密码过期设置为永远不会恢复先前过期的密码?

密码到期设置只影响将来,不能改变过去。 一旦密码过期,它已经过期。 你不能改变已经发生的事实。