合 Linux系统密码复杂度校验规则修改
现象
1 2 3 4 5 6 7 8 9 | [root@kylinosv10sp2 /]# passwd Changing password for user root. New password: BAD PASSWORD: The password is shorter than 8 characters passwd: Authentication token manipulation error [root@lhropeneuler22 /]# echo "gpadmin:lhr" | chpasswd BAD PASSWORD: The password is shorter than 8 characters [root@lhropeneuler22 /]# |
解决:取消密码复杂度校验
适用于CentOS、麒麟系统、欧拉系统:
1 2 3 4 5 6 7 8 | vi /etc/pam.d/system-auth -- 注释掉如下行: #password requisite pam_pwquality.so try_first_pass local_users_only -- 添加: password requisite pam_unix.so |
文件在:/usr/lib64/security/pam_unix.so
其中,pam_unix.so可以修改为pam_cracklib.so,但需要保证so文件存在。
三个auth都会用来进行登陆检查,即使第一个模块失败,用来防止用户知道在哪个过程失败,主要目的是防止攻击。
auth 组件:认证接口,要求并验证密码
account组件:检测是否允许访问。检测账户是否过期或则在末端时间内能否登陆。
password组件:设置并验证密码
session组件:配置和管理用户sesison。
required:该模块必须success才能进行继续。即使失败用户也不会立刻获知,直到所有相关模块完成。
requisite:该模块必须success才能使认证继续进行。
suffifient:如果失败则忽略。
optinal:忽略结果,不管是否失败。
配置密码复杂度
密码复杂度:定期更换策略,避免弱口令
修改 /etc/login.defs文件,加入如下内容即可:
1 2 3 4 5 6 7 8 9 | [root@www.shizhanxia.com ~]# vi /etc/login.defs # 密码最大有效期 PASS_MAX_DAYS 180 # 两次修改密码的最小间隔时间 PASS_MIN_DAYS 1 # 密码最小长度 PASS_MIN_LEN 8 # 密码过期前7天开始提示 PASS_WARN_AGE 7 |