如何在centos 7中禁用“密码包含用户名”限制

如何在centos 7中禁用“密码包含用户名”限制

我的用户名是 z,密码包含 z,系统不允许我使用该密码。错误是:

错误密码:密码以某种形式包含用户名。

这是一个错误,我无法通过。我在 Google 上搜索了这个问题,但找不到任何可行的答案。以下是我尝试过的方法:

  • 从 root 调用 passwd。
  • 将 pam_pwquality.so 上的 /etc/pam.d/system-auth 和 /etc/pam.d/password-auth: 从必需项更改为可选项,或注释掉该行。注释掉会导致错误“passwd:身份验证令牌操作错误”。
  • 检查/usr/sbin/authconfig --help,没有找到相关选项。
  • 更改 /etc/security/pwquality.conf,找不到相关选项。尝试了 gecoscheck=0,没有任何变化。

谁能帮我?

答案1

检查 libpwqualitygithub 上的代码您收到的错误消息似乎来自此库。可能从 PAM 模块调用,因此您应该开始检查/etc/pam.d/passwd默认情况下密码中包含的内容,它仅包含/etc/pam.d/system-auth。我认为您已经非常接近了,但是,将模块设置为可选对您不起作用。我建议将其注释掉进行测试,并gecoscheck=N在 pam 或/etc/security/pwquality.conf

简单地注释掉行/etc/pam.d/system-auth可能不起作用,但是,您可以尝试将文件密码部分更新为类似以下内容(仅密码部分重要): password sufficient pam_unix.so sha512 password required pam_deny.so 之后,只需执行passwd user尝试您最喜欢的密​​码即可。对我来说,设置完全相同的用户名和密码是有效的,从系统安全角度来看,这显然是不推荐的。

答案2

另一种方法是从现有密码文件(在另一台电脑上)复制加密密码。

这意味着从用户那里复制密码我的用户/etc/shadow一台电脑上的文件中,无需严格的密码检查:

[..]
sshd:!!:19571::::::
postfix:!!:19571::::::
myuser:$6$<some crypted login>:18472:0:99999:7:::
[..]

到密码规则更严格的 PC。只需复制加密密码即可

$6$<some crypted login>

放入第二和第三个冒号之间的新密码文件中:($6$ 是加密类型,本例中实​​际加密的密码被删除)。

你可能还需要检查/etc/passwd/etc/shadow文件 ala

> pwck -r /etc/passwd /etc/shadow
user 'ftp': directory '/var/ftp' does not exist
pwck: no changes

(并且可能需要重新启动系统才能使密码更改生效!?)

答案3

在 /etc/pam.d/password.aut 和 /etc/pam.d/system.auth 文件中更改以下选项

截屏

这工作正常,但需要输入 4 次密码。

答案4

我刚刚测试过,从 root 调用 passwd 将强制更新用户密码,尽管它仍然会显示一条警告消息“密码错误:密码以某种形式包含用户名”,但实际更新有效。

相关内容