我想在 Ubuntu 12.04 LTS 服务器上设置系统范围的密码策略。谷歌搜索后,很多人都指向这个(非常旧的)文档:
https://help.ubuntu.com/10.04/serverguide/user-management.html
它说编辑/etc/pam.d/common-password
文件并查找行password required
:
password required pam_unix.so nullok obscure min=6 max=8 md5
要设置最小密码长度,请调整min=
设置。
然而,在 12.04 上,我的文件如下所示(注释已删除):
password [success=1 default=ignore] pam_unix.so obscure sha512
password requisite pam_deny.so
password required pam_permit.so
我该改哪一行?那个有pam_unix.so
?或者带有 的那个password required
?或者现在在其他文件中?该文件中没有任何有关设置密码策略的注释。
答案1
您需要更改第一行password [success=1 default=ignore] pam_unix.so obscure sha512
但不要使用 md5,因为新的使用的是 sha512。如果您想设置最小密码长度 (8),请使用下面的行
密码 [success=2 default=ignore] pam_unix.so 晦涩 sha512 min=8
答案2
pam_unix
是个聚丙烯酰胺使用用户名和密码处理身份验证的模块,因此您可以在其中配置密码策略。
在里面PAM配置,第一列表示管理组。这里是password
,配置用户认证数据的更新。第二列指定了不同模块之间的控制流,除非你知道自己在做什么,否则不要碰它。第三列是模块名称,后续列是该模块的参数。
看看在pam_unix
文档,或者更好地在pam_unix
您系统的手册页中查看支持哪些选项。添加您想要的选项,例如
password [success=1 default=ignore] pam_unix.so obscure sha512 rounds=10000 minlen=8
您可能需要添加其他模块来对密码执行复杂性检查,例如pam_cracklib
。设置pam_cracklib
为required
并将其放在前面pam_unix
(这会验证密码更改):
password required pam_cracklib.so retry=3 difok=1 minlen=10
password [success=1 default=ignore] pam_unix.so obscure sha512 rounds=10000 minlen=8