如何在 Redhat 中强制执行密码复杂性?

Man*_*nas 4 linux password redhat

我用谷歌搜索并找到了一些关于它的链接,如下所示: 在 Red Hat
中强制执行密码复杂性如何在 Linux 上强制执行密码复杂性

它说我们需要在/etc/pam.d/system-auth文件中进行更改。我已经设置了强制密码复杂性的参数,然后尝试创建一个新用户,但是我设置的规则(例如最少字符数和最少大写字母数以及所需最少数字数)并没有禁止我创建不遵守这些规则的密码。

请帮助我,让我知道如何实现这一目标。

小智 5

minlen=8 ucredit=1 dcredit=1 ocredit=0 lcredit=0
Run Code Online (Sandbox Code Playgroud)

我猜您希望您的密码至少为 8 个字符,至少包含 1 个大写字符和 1 个数字。如果是这样,那不是您配置的内容。

为此,您应该使用:minlen=8 ucredit=-1 dcredit=-1

说明:minlen 算法使用“credits”来确定长度值。假设您有一个 6 个字符的密码。minlength 将不小于 6。然后,在不使用任何信用值的情况下,使用小写字符将获得 1 个“信用”,使用大写字符将获得 1 个信用,依此类推。因此,密码Hello!为 6 个字符,+1 使用大写,+1 使用小写,+1 使用特殊字符,总 minlen 值为 9。

ucredit=1 dcredit=1 ocredit=0 lcredit=0使用相同的密码指定长度为 6,+1 使用大写,0 使用小写,0 使用特殊字符,长度为 7。它不会强制您使用大写字符。

如果您对学分使用负数,则要求您至少拥有那么多,并且不使用学分。

因此minlength=8 ucredit=-1 dcredit=-1 ocredit=0 lcredit=0将要求密码长度至少为 8 个字符,至少包含 1 个大写字符和 1 个数字。因此密码helloboy为 8 个字符,但会失败。Hellob0y将通过。He$$ob0y也会通过。