银河麒麟高级服务器操作系统密码复杂度

Lear 2025-06-30 14:00:00
Categories: > Tags:

银河麒麟高级服务器操作系统密码复杂度
银河麒麟高级服务器操作系统V10中控制账户口令复杂度的配置文件是/etc/security/pwquality.conf,该配置文件中多个控制口令复杂度的参数如下:

1
2
3
4
5
6
7
8
difok:不得与上次密码相同的字符个数
minlen:密码最小长度
dcredit:密码中最少包含数字的个数
ucredit:密码中最少包含大写字母的个数
lcredit:密码中最少包含小写字母的个数
ocredit:密码中最少包含特殊字符的个数
maxrepeat:密码中相同字符出现最多的次数
usercheck:检测密码是否与用户名相似

在配置文件中,被注释的参数会使用默认值,如果参数未被注释且值不为零则在设置账户密码时需要根据配置文件中的参数要求进行配置。其中数值为-1时代表至少需要相应字符一位、数值为-2时代表需要需要相应字符两位,依次类推。

Linux对应的密码策略模块有:pam_passwdqc和pam_pwquality。
其中pam_passwdqc模块对应的是/etc/login.defs,
pam_pwquality模块对应的是/etc/security/pwquality.conf

/etc/security/pwquality.conf详解

1
2
3
4
5
6
7
retry=N: 定义登录/修改密码失败时,可以重试的次数;
Difok=N: 定义新密码中必须有几个字符要与旧密码不同。但是如果新密码中有1/2以上的字符与旧密码不同时,该新密码将被接受;
minlen=N: 定义用户密码的最小长度;
dcredit=N: 定义用户密码中必须包含多少个数字;
ucredit=N: 定义用户密码中必须包含多少个大写字母;
lcredit=N: 定义用户密码中必须包含多少个小些字母;
ocredit=N: 定义用户密码中必须包含多少个特殊字符(除数字、字母之外);

【其中 =-1表示,至少有一个】

/etc/login.defs详解

1
2
3
4
PASS_MAX_DAYS 99999 密码的最大有效期, 99999:永久有期
PASS_MIN_DAYS 0 是否可修改密码,0可修改,非0多少天后可修改
PASS_MIN_LEN 5 密码最小长度,使用pam_cracklib module,该参数不再有效
PASS_WARN_AGE 7 密码失效前多少天在用户登录时通知用户修改密码

  1. 密码长度

[root@Kylin-V10-x86-64 dm8]# grep minlen /etc/security/pwquality.conf
minlen = 8
[root@Kylin-V10-x86-64 dm8]# sed -i ‘/minlen/s/8/5/‘ /etc/security/pwquality.conf

[root@Kylin-V10-x86-64 dm8]# grep PASS_MIN_LEN /etc/login.defs
# PASS_MIN_LEN Minimum acceptable password length.
PASS_MIN_LEN 5