如何更改密码限制

如何更改密码限制

今天,我尝试使用 passwd 更改实验室服务器 (SUSE) 上的密码,但收到错误消息,提示我的密码“基于字典单词”,但事实并非如此。我想更改和调整设置密码的这些约束和限制(我是管理员),想知道如何做到这一点?

更新:在我的 /etc/security/pam_pwcheck.conf 中发现此行:

password:       nullok use_cracklib

有什么办法可以让它仅对此发出警告而不是阻止我设置密码?

更新 2:还在 /etc/pam.d/common-password 中发现了这一点:

password required       pam_pwcheck.so  nullok
password required       pam_unix2.so    nullok use_authtok

如果我删除 use_cracklib 参数,则会删除检查。我尝试添加:

password optional       pam_cracklib.so

但它没有帮助。我已经禁用了 cracklib 功能,但现在我甚至没有收到警告。

更新 3:

尝试了这个(/etc/pam.d/common-password):

password optional pam_pwcheck.so nullok 
password required pam_unix2.so nullok use_authtok 

和(/etc/security/pam_pwcheck.conf):

password: use_cracklib nullok 

然而,这并没有产生预期的效果,我仍然不能忽略警告。

答案1

使用password optional pam_cracklib.so不会帮你完成。你需要password optional pam_pwcheck.so在其中放入一个,这样它才会真正起作用。如果它后面跟着一行pam_unix.so,它应该会按照你想要的方式工作。

答案2

嗯,这取决于系统身份验证配置。您运行的是哪个版本的 SuSE?

在我的 SuSE (10.1) 上,身份验证是通过 PAM 处理的,就像几乎所有现代 Linux 发行版一样。在那里,身份验证是通过 /etc/pam.d/ 中的文件配置的。

每个“服务”都有一个文件。您感兴趣的是 /etc/pam.d/passwd,在我的系统中,它引用(通过包括 common-password)PAM 模块pam_pwcheck。这是强制执行 pw 规则的模块。请参阅man pam_pwcheck如何配置它。

如果您有不同的 PAM 配置,您可能会使用不同的机制,但基本思想是相同的。

答案3

来自 passwd 手册页:

然后,测试密码的复杂性。一般来说,密码应由 6 到 8 个字符组成,其中包括以下每个集合中的一个或多个字符:
 · 小写字母
 · 数字 0 到 9
 · 标点符号

在 Sun Solaris 上,可以通过 /etc/defaults/passwd [1] 控制该行为。

另外,在我的 Debian 系统上有一个 /etc/login.defs 文件,它可以有 PASS_MIN_LEN 选项,尽管 login.defs 文件的手册说它不再被 passwd 使用并指向 /etc/pam.d/passwd。

我不知道如何通过 /etc/pam.d/passwd 配置此行为。

  1. http://www.unix.com/sun-solaris/30617-password-complexity-check.html

答案4

另一个选择是使用破解库。 这文章应该可以给你一些指点。

相关内容