在多用户Linux环境下,创建使用某个随机默认密码的用户帐户是标准做法。之后在成功登录后,新用户可以将默认密码更改成自己的密码。出于安全方面的原因,常常建议“迫使”用户在第一次登录后更改默认密码,以确保最初的一次性密码不再使用。
下面介绍如何迫使用户在下一次登录时更改其密码。
Linux下的每个用户帐户都与和密码相关的各个配置和信息关联起来。比如说,它记得上一次密码更改的日期、密码更改间隔的最少/最多天数以及何时让当前密码到期失效,等等。
一种名为chage的命令行工具可以访问和调整与密码到期失效有关的配置。你可以使用该工具,迫使任何用户在下一次登录时更改密码。
想查看某一个用户(比如alice)的密码到期失效信息,运行下面这个命令。请注意:只有在你检查你自己之外的其他任何用户的密码有效期信息时,才需要根用户权限。
$ sudo chage -l alice
迫使用户更改密码
如果你想迫使用户更改其密码,请使用下面这个命令。
$ sudo chage -d0 <user-name>
最初,“-d <N>”选项应该被设成密码的“有效期”(自密码上一次更改时间1970年1月1日以来的天数)。所以,“-d0”表明该密码是在1970年1月1日更改的,这实际上让当前密码到期失效,从而让密码在下一次登录时被更改。
让当前密码到期失效的另一个办法是通过passwd命令。
$ sudo passwd -e <user-name>
上述命令具有与“chage -d0”同样的功效,让用户的当前密码立即到期失效。
现在,再次检查用户的密码信息,你会看到:
当你再次登录时,系统会要求你更改密码。你在更改密码之前需要多次确认当前密码。
想设置更全面的密码政策(比如密码复杂性和防止重复使用),你可以使用PAM。参阅这篇文章,即可了解更多详细内容。
原文标题:How to force password change at the next login on Linux,作者:Dan Nanni
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-10/124048.htm