什么是 PAM 破解库

红帽企业 Linux 可以配置为验证密码不容易被猜到。
在 Red Hat Enterprise Linux 上,此检查由 Pluggable Authentication Module (PAM) /lib/security/pam_cracklib.so 执行。
它检查以确保密码是最小长度,并验证密码没有出现在字典中。

本模块使用的字典位于/usr/lib/,格式为cracklib。
默认情况下,每个字典文件都以文件名 cracklib_dict 为前缀。

这个模块有许多参数,一些比较有用的参数如下:

参数描述
minlen指定帐户允许的最小长度
difok指定必须与先前密码不同的最少字符数

实现此操作的一个示例是将以下行添加到 /etc/pam.d/system-auth 文件中:

password   required   /lib/security/pam_cracklib.so retry=3 type= minlen=8 difok=3

注意:除非我们想定义此参数,否则 type= 参数不需要值。
定义它将改变作为提示打印给用户的消息。

关于 pam_cracklib 模块的其他信息可以在系统文档中找到:/usr/share/doc/pam-/txts/README.pam_cracklib

如何将单词添加到cracklib用于根据已知字典单词验证密码的字典中

在Red Hat Enterprise Linux 6中,如何向pam_cracklib的密码字典检查的单词列表中添加其他单词?

更多: zhilu jiaocheng

向cracklib 词典添加新词

按照以下步骤将单词添加到用于根据已知字典单词验证密码的字典中。

  1. 确保 CentOS/RHEL/Fedora 服务器上安装了以下 rpm:
pam-1.1.1-22.0.1.el6.x86_64
cracklib-2.8.16-4.el6.x86_64
cracklib-dicts-2.8.16-4.el6.x86_64
words-3.0-17.el6.noarch

请注意,rpms 的版本会根据操作系统版本而变化。

  1. 检查要添加到词典中的新词是否已经存在于词典中。
# echo "pwd1234@" | cracklib-check
pwd1234@: OK

输出中的“OK”表示新词尚未包含在字典中。

  1. 修改/usr/share/dict/linux.words,最后添加“pwd1234@”。
# vi /usr/share/dict/linux.words
pwd1234@
  1. 验证已添加条目的文件。
# tail /usr/share/dict/linux.words
Zyzomys
Zyzzogeton
zyzzyva
zyzzyvas
ZZ
Zz
zZt
ZZZ
pwd1234@
  1. 使用以下命令更新cracklib字典:
# create-cracklib-dict /usr/share/dict/linux.words
  1. 现在再次检查是否已将相同的内容添加到字典中?
# echo "pwd1234@" | cracklib-check
pwd1234@: it is based on a dictionary word

从上面的输出可以看出,新词已经在字典中了。

  1. 现在也尝试来自用户的相同密码
$ passwd
Changing password for user test.
Changing password for test.
(current) UNIX password:
New password: >>>>>>>>>>>>> Input pwd1234@
BAD PASSWORD: it is based on a dictionary word

从上面的输出中可以看出,添加到字典中的新单词现在不能用作密码。

日期:2020-09-17 00:13:07 来源:oir作者:oir