用户更改密码后closures密码过期(Linux)

我的一个电子邮件服务器使用unix系统帐户进行​​用户login。 因为我没有设置任何复杂的密码策略(我们的用户,包括pipe理人员,不喜欢复杂的密码),其中一个拥有字典6字母密码的帐户被黑了,发送了几千个垃圾邮件。 所以,我们的知识产权自然最终以3个RBLs结束。 在与pipe理层交谈之后,我们决定是时候增encryption码复杂度要求了。 (最less8个字符,大写,小写,数字等)

现在,这是问题。 如何确保我们的所有用户真正更改密码,而不必检查日志,chage命令输出等? 我能想到的最佳解决scheme是为所有用户设置一个10天的密码到期,然后发送一个群发邮件给大家,告诉他们如果他们不改变密码,10天后他们将无法login。

所以我开始做testing,看看这是否是一个可行的解决scheme,我遇到了一个我应该预见到的问题:即使我将密码过期设置为10天(chage -M 10用户),更改密码后,过期date保持不变,而不是回到“从不”。

用户更改密码后,是否有某种方法可以closures密码? (用户可以通过webmail界面更改密码,使用基于chpasswd命令的脚本)。

我会尝试结合chage -M-d选项。

-M

设置密码有效的最长天数。 当MAX_DAYS加上LAST_DAY小于当天时,用户将被要求更改他/她的密码才能够使用他/她的帐户。

-d

设置密码上次更改后1970年1月1日以来的天数。 date也可以用YYYY-MM-DD的格式表示。

所以给定这些选项,决定你希望你的密码过期的频率。 显然你不希望他们每10天过期,所以-M选项应该被设置为更高的值。

要让用户在未来10天内更改密码,请将-d (LAST_DAY)选项设置为LAST_DAY + MAX_DAYS == TODAY + 10 DAYS

这个技巧可以让你更快地使密码到期date的方法。 密码更改后,将根据-M选项指定的值设置下一个到期date。