我GOOGLE了一下,发现了几个这样的链接: 在红帽强制密码的复杂性
如何在Linux上执行密码复杂性
它说我们需要在/etc/pam.d/system-auth文件中进行更改。 我已经设置了用于强制密码复杂性的参数,然后尝试创build一个新用户,但是由我设置的规则(如最小字符数,最小字母数和最小数字所需的数)并不禁止我创build没有遵守这些规则的密码。
请帮助我,让我知道如何做到这一点。
minlen=8 ucredit=1 dcredit=1 ocredit=0 lcredit=0
我猜你想要你的密码至less8个字符,至less包含1个大写字母和1个数字。 如果是这样,那不是你所configuration的。
为此,你应该使用: minlen=8 ucredit=-1 dcredit=-1 。
说明:minlenalgorithm使用“credits”来确定长度值。 假设你有一个6个字符的密码。 minlength将不小于6.然后,不使用任何信用值,您将得到使用小写字符的1“信用”,使用大写字符的信用等级1。 因此, Hello!密码Hello! 是6个字符,使用大写字母+1,使用小写字母+1,使用特殊字符+1,总共微分值9。
指定ucredit=1 dcredit=1 ocredit=0 lcredit=0 ,使用相同的密码给出长度6,使用大写字母+1,使用小写字母0,使用特殊字符0,长度为7。强制你使用大写字符。
如果您使用一个负数的信用,这就要求你至less有这么多,并不使用信用。
因此, minlength=8 ucredit=-1 dcredit=-1 ocredit=0 lcredit=0将要求密码长度至less为8个字符,至less包含1个大写字符和1个数字。 因此, helloboy的密码是8个字符,但会失败。 Hellob0y会通过。 He$$ob0y也将通过。
当你通过ssh /etc.pam.d/sshd策略文件login时使用。 这个文件包含/etc/pam.d/system-auth ,你必须考虑这两个文件的内容。
如果您通过/bin/login ,则使用文件/etc/pam.d/login ,因此对其进行的任何更改只会影响/bin/login 。
因此,您可能需要对两个文件进行更改,例如/etc/pam.d/system-auth和/etc/pam.d/login 。 或者改变你想要强制密码复杂性的那个。