/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官方文档