Answers:
Ubuntu中的密码复杂性由PAM控制。不幸的是,PAM在其方法上是“典型的Unix”。这意味着它通过大量非常混乱的文件来传播其配置。
控制密码复杂度的文件是:
/etc/pam.d/common-password
有一行:
password [success=1 default=ignore] pam_unix.so obscure sha512
其中定义了密码复杂性的基本规则。您可以通过将最小长度替代更改为:
password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=12
或任何您想要的最低要求。如您所见,默认值已经定义了一些基本的模糊规则。这些基本规则可见于:
man pam_unix
搜索“晦涩”。
可以安装大量的pam模块。
apt-cache search libpam-
应该给你看。
恐怕您需要为他们寻找文件资料。但是“ cracklib”是常见的补充。
更新:我应该指出,默认的“模糊”参数包括基于先前密码和简单性(长度,不同类型字符的数量)的复杂性测试。手册页中的示例显示了cracklib的实际作用。安装libpam_cracklib使其正常运行。
同样,一旦确定了要更改的内容,其他文件中的更改也将相同,因此您可以对SSH和其他应用程序强制执行相同(或不同)的密码检查。
man pam_unix
,则可以看到它。
预安装的PAM模块允许您根据复杂性来设置基本要求。有一个不错的模块,它是pam_cracklib模块的后继者-pam_pwquality。为了安装它,键入以下内容
apt-get install libpam-pwquality
然后熟悉这个
man pam_pwquality
尤其是在“选项”部分。
现在,您可以在/etc/pam.d/中编辑公用密码。
vi /etc/pam.d/common-password
找到包含以下“ password Requirement pam_pwquality.so”语句的行,并在pam_pwquality.so之后附加这样的选项
password requisite pam_pwquality.so minlen=16 ucredit=-4 retry=3
代表“密码的最小大小为16个字符,其中至少4个字符为大写。提示用户输入密码3次。
pam_pwquality与pam_pwhistory等其他模块结合使用,可以使密码要求更为复杂。祝好运
man pam_unix
,如果您搜索,默认密码minlength为6个字符minlen
。