/etc/security/pwquality.conf对应的so文件是/lib64/security/pam_pwquality.so,在rhel7中, pam_pwquality PAM 模块取代了 pam_cracklib模块。

一、pwquality模块

该模块的配置方法如下。修改/etc/pam.d/passwd ,增加如下内容:

1password    required    pam_pwquality.so retry=3

后面的3的意思是在输入的密码不符合密码规则的要求时,可以写三次不一样的密码重试,三次都不符合密码更改要求,就会自动退出。由于这里没有指定密码规则 ,其会自动从/etc/security/pwquality.conf配置文件中读取规则。如果可以修改默认配置为:

1minlen=8
2minclass=4
3maxsequence=3
4maxrepeat=3

密码的长度至少有8个字符,包含全部四种字符。且没有三个连续或重复的字符。除了上面直接读取配置文件,也可以使用如下配置,直接在配置文件中指定规则:

1password  required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8
2password  required pam_unix.so use_authtok nullok md5

注:由于root 用户是施行密码创建规则的人,尽管有出现警告消息,他也能够为自己或普通用户设置任何密码

二、login.defs

/etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs 。该文件用于设定在用户新创建的时候对应的目录等创建的位置,权限等。

 1MAIL_DIR        /var/spool/mail
 2PASS_MAX_DAYS   99999
 3#密码最大有效期
 4PASS_MIN_DAYS   0
 5#两次修改密码的最小间隔时间
 6PASS_MIN_LEN    5
 7#密码最小长度,对于root无效
 8PASS_WARN_AGE   7
 9#密码过期前多少天开始提示
10#
11# Min/max values for automatic uid selection in useradd
12#创建用户时不指定UID的话自动UID的范围
13UID_MIN                   500
14#用户ID的最小值
15UID_MAX                 60000
16#用户ID的最大值
17#
18# Min/max values for automatic gid selection in groupadd
19#自动组ID的范围
20GID_MIN                   500
21#组ID的最小值
22GID_MAX                 60000
23#组ID的最大值
24#USERDEL_CMD    /usr/sbin/userdel_local
25#当删除用户的时候执行的脚本
26CREATE_HOME     yes
27#使用useradd的时候是够创建用户目录
28# The permission mask is initialized to this value. If not specified,
29# the permission mask will be initialized to 022.
30UMASK           077
31# This enables userdel to remove user groups if no members exist.
32#
33USERGROUPS_ENAB yes
34#用MD5加密密码

三、pwquality与login.defs

pwquality和login.defs都会涉及到密码长度的要求,两者之间的区别在于。前者适用于所有已经存在的及未来创建的帐号的密码长度限制,而login.defs主要适用于新创建的用户的一些属性信息。

参考页面:rhel7官方文档