CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。
可以通过两种方式实现:
(1)直接vi或vim编辑器 ,或者甚至用sed命令,修改/etc/security/pwquality.conf
(2)使用authconfig命令修改,修改后最终会体现在/etc/security/pwquality.conf文件中
由于Centos7默认取消了对pam_cracklib模块的使用,配置文件/etc/pam.d/system-auth中没有pam_cracklib.so相关的条目。
有同学直接在/etc/pam.d/system-auth文件末尾添加“password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=16 ucredit=-1 lcredit=-1 ocredit=-1 dcredit=-1” ,然后发现实际上密码复杂度策略并没有生效。
经测试是因为位置不对,把上面的语句添加在“pam_pwquality.so”所在行的前面,即可使策略生效。如下所示:
(1)pam_pwquality(8) - Linux man page