如果没有设置密码,为什么密码会过期?

如果没有设置密码,为什么密码会过期?

密码为什么会过期?

我已经使用公钥(无需密码)登录好几天了。今天我收到以下消息:

> ssh modlink_foo_q@server

You are required to change your password immediately (password expired)
Last login: Wed Nov 14 09:26:48 2018 from 10.130.4.3
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for modlink_foo_q.

这是 /etc/shadow 中的匹配行

server:~ # grep modli /etc/shadow
modlink_foo_q:!:17757:1:90:7:::

我认为没有设置密码。那么谁会让它过期呢?

操作系统:SUSE Linux Enterprise Server 12 SP3

答案1

您的加密密码的值(或缺少密码)不会改变已设置密码过期策略的事实。

https://linux.die.net/man/3/shadowhttps://linux.die.net/man/5/shadow

当前密码是在 2018 年 8 月 14 日星期二设置的
(第三个字段是sp_lstchg- 自 1970 年 1 月 1 日上次更改密码以来的天数:date --date '1970-01-01 +17757days'
(很可能是创建帐户时)并且有效期为 90 天。
(字段#5 sp_max- 必须更改密码的天数)即密码有效期至date --date '1970-01-01 +17757days +90days' 2018 年 11 月 12 日星期一。

您目前处于密码到期后的 7 天宽限期,除非您更改密码,或更改/更新策略字段(使用chage)该帐户将于 2018 年 11 月 19 日(星期一)被视为不活跃并被禁用。

 chage --lastday 2018-11-14 modlink_foo_q 

将使用今天的日期更新该sp_lstchg字段,这将允许您在模拟新的密码重置之前继续使用该帐户 90 分钟。

答案2

我已更新/etc/login.defs以包含此内容:

PASS_MAX_DAYS    99999
PASS_MIN_DAYS    0

现在一切正常。密码不再过期。

相关内容