为什么使用 chage 将密码过期时间更改为“永不”后,Linux 帐户不接受旧密码?

为什么使用 chage 将密码过期时间更改为“永不”后,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

但这样做之后,我仍然无法使用相同的密码以 foouser 身份登录。

为了让它再次正常工作,我需要跟进passwd foouser并再次设置相同的密码。

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

答案1

密码过期设置只会影响未来,无法改变过去。密码一旦过期,就过期了。你无法改变已经发生的事实。

相关内容