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

gue*_*tli 3 ssh password expired

为什么密码会过期?

几天以来,我一直在使用公钥(无密码)登录。今天我收到这条消息:

> 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.
Run Code Online (Sandbox Code Playgroud)

这是 /etc/shadow 中的匹配行

server:~ # grep modli /etc/shadow
modlink_foo_q:!:17757:1:90:7:::
Run Code Online (Sandbox Code Playgroud)

我认为没有设置密码。那么谁可以过期呢?

操作系统:SUSE Linux Enterprise Server 12 SP3

HBr*_*ijn 6

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

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 
Run Code Online (Sandbox Code Playgroud)

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