/etc/passwd
使用 RHEL 7.9,我在和中定义了本地用户帐户/etc/shadow
。- 我的密码更改过程是在需要时向用户发送电子邮件临时密码。
- 作为 root,我
passwd <username>
使用该临时密码,然后使用passwd -e <username>
使该临时密码过期的命令,这将强制该用户在通过 SSH 登录时更改它。 - 如果我这样做,
chage -E <date> <username>
我可以将该临时密码设置为到期比如说,从我为该用户帐户设置临时密码并通过电子邮件发送给他们的那一刻起 7 天。但是,如果用户在 7 天内登录并成功更改密码,则该到期日期不会更改;我希望它仅对临时密码有效,并在用户成功更改密码后消失,有办法做到这一点吗?- 仅供参考,我有 PASS_MAX_DAYS = 90
/etc/login.defs
- 如果用户成功更改其帐户密码,我希望第 8 个(最后一个)字段为
/etc/shadow
空,该字段对应于 achage -E -1 <username>
并且与 PASS_MAX_DAYS 无关。 - 我不想要电子邮件暂时的密码有效期为 PASS_MAX_DAYS 我希望它仅有效期为 7 天;有没有办法让它自动发生?
- 仅供参考,我有 PASS_MAX_DAYS = 90
答案1
将不活动超时设置为 7 天 ( chage -I 7 <username>
)。这边走:
- 由于密码已过期 (
passwd -e
),用户在登录时被迫更改密码。 - 7天后,如果密码仍未更改,帐户将被锁定。这也会禁用非密码登录,但据我了解,这对您来说是可以接受的。
请注意,经常更改密码是不好的做法。十年前,它曾经是一个流行的(但被误导的)建议,但实际上适得其反,现在基本上已被弃用。它促使用户选择易于记住的密码或将其写在易于访问的位置,因为否则他们就记不住。一些主要组织过去要求或建议在 90 天后重置密码,但是。看:
- 2010年微软论文
- 2010年北卡罗来纳大学论文
- NCSC(原CESG)(2015 年)
- 美国国家标准技术研究所(2017),概括
因此,我建议您更改密码策略,或者如果您不能这样做,请务必让当权者知道他们正在延续已知的不良做法。