因为我没有设置任何复杂的密码策略(我们的用户,包括管理人员,不喜欢复杂的密码),其中一个帐户,有一个字典6字母密码,被黑客攻击,并发送了几千个垃圾邮件.所以,自然地,我们的IP最终达到了3个RBL.
在与管理层讨论后,我们决定是时候提高密码复杂性要求了. (最少8个字符,大写,小写,数字等)
现在,这是问题所在.如何确保所有用户真正更改密码而无需检查日志,chage命令输出等?
我能想到的最好的解决方案是为所有用户设置10天密码到期,然后向所有人发送大量电子邮件,告诉他们如果他们不更改密码,10天后他们将无法登录.
所以我开始做测试,看看这是否是一个可行的解决方案,我遇到了一个我应该预见到的问题:
即使我将密码过期设置为10天(chage -M 10用户),更改密码后,过期日期保持不变,而不是返回“never”.
在用户更改密码后,是否有某种方法可以关闭密码过期? (用户可以使用基于chpasswd命令的脚本通过webmail界面更改密码).
解决方法
-M
Set the maximum number of days during which a password is valid. When
MAX_DAYS plus LAST_DAY is less than the current day,the user will be
required to change his/her password before being able to use his/her
account.
-d
Set the number of days since January 1st,1970 when the password was
last changed. The date may also be expressed in the format YYYY-MM-DD.
因此,根据这些选项,确定密码过期的频率.显然,您不希望它们每10天到期,因此-M选项应设置为更高的值.
要让用户在接下来的10天内更改密码,请将-d(LAST_DAY)选项设置为该值,以便LAST_DAY MAX_DAYS == TODAY 10 DAYS.
这个技巧将允许您更快地使密码到期日期接近.更改密码后,将根据-M选项指定的值设置下一个到期日期.