/etc/security/pwquality.conf对应的so文件是/lib64/security/pam_pwquality.so,在rhel7中, pam_pwquality PAM 模块取代了 pam_cracklib模块。
一、pwquality模块
该模块的配置方法如下。修改/etc/pam.d/passwd ,增加如下内容:
password required pam_pwquality.so retry=3
后面的3的意思是在输入的密码不符合密码规则的要求时,可以写三次不一样的密码重试,三次都不符合密码更改要求,就会自动退出。由于这里没有指定密码规则 ,其会自动从/etc/security/pwquality.conf配置文件中读取规则。如果可以修改默认配置为:
minlen=8
minclass=4
maxsequence=3
maxrepeat=3
密码的长度至少有8个字符,包含全部四种字符。且没有三个连续或重复的字符。除了上面直接读取配置文件,也可以使用如下配置,直接在配置文件中指定规则:
password required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8
password required pam_unix.so use_authtok nullok md5
注:由于root 用户是施行密码创建规则的人,尽管有出现警告消息,他也能够为自己或普通用户设置任何密码。
二、login.defs
/etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs 。该文件用于设定在用户新创建的时候对应的目录等创建的位置,权限等。
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
#密码最大有效期
PASS_MIN_DAYS 0
#两次修改密码的最小间隔时间
PASS_MIN_LEN 5
#密码最小长度,对于root无效
PASS_WARN_AGE 7
#密码过期前多少天开始提示
#
# Min/max values for automatic uid selection in useradd
#创建用户时不指定UID的话自动UID的范围
UID_MIN 500
#用户ID的最小值
UID_MAX 60000
#用户ID的最大值
#
# Min/max values for automatic gid selection in groupadd
#自动组ID的范围
GID_MIN 500
#组ID的最小值
GID_MAX 60000
#组ID的最大值
#USERDEL_CMD /usr/sbin/userdel_local
#当删除用户的时候执行的脚本
CREATE_HOME yes
#使用useradd的时候是够创建用户目录
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
#用MD5加密密码
三、pwquality与login.defs
pwquality和login.defs都会涉及到密码长度的要求,两者之间的区别在于。前者适用于所有已经存在的及未来创建的帐号的密码长度限制,而login.defs主要适用于新创建的用户的一些属性信息。
参考页面:rhel7官方文档