Linux密码复杂度及生命周期

Linux密码复杂度及生命周期,第1张

Linux密码的生命周期由/etc/login.defs文件的以下选项来控制:

PASS_MAX_DAYS  120  : 定义密码最长使用时间。

PASS_MIN_DAYS 30 : 定义密码最短更换周期。

PASS_MIN_LEN8 : 定义密码最短长度。

PASS_WARN_AGE 7 : 密码过期提前告警提示天数。

Linux密码的复杂度由/etc/pam.d/system-auth文件的选项来控制:

设置中 minlen=9表示密码长度最低是9

ucredit=-2 表示至少2个大写字母

lcredit=-2 表示至少2个小写字母

dcredit=-2表示至少2个数字

oredit=-2表示至少2个特殊符号

Centos 7 可以在/etc/security/pwquality.conf文件中设置密码复杂度策略,然后在/etc/pam.d/system-auth中设置对root起作用。

1、Linux对应的密码策略模块有:pam_passwdqc 和 pam_pwquality 。其中pam_passwdqc模块对应的是/etc/login.defs,pam_pwquality对应的是/etc/security/pwquality.conf 2、模块的添加方法:/etc/pam.d/passwd passwordrequiredpam_pwquality.so retry=3 3、模块的配置方法有两种: 一、password required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 二、添加到/etc/security/pwquality.conf 中 4、/etc/security/pwquality.conf详解: retry=N:定义登录/修改密码失败时,可以重试的次数; Difok=N:定义新密码中必须有几个字符要与旧密码不同。但是如果新密码中有1/2以上的字符与旧密码不同时,该新密码将被接受; minlen=N:定义用户密码的最小长度; dcredit=N:定义用户密码中必须包含多少个数字; ucredit=N:定义用户密码中必须包含多少个大写字母; lcredit=N:定义用户密码中必须包含多少个小些字母; ocredit=N:定义用户密码中必须包含多少个特殊字符(除数字、字母之外); 其中 =-1表示,至少有一个 5、/etc/login.defs详解: PASS_MAX_DAYS 99999 #密码的最大有效期, 99999:永久有期 PASS_MIN_DAYS 0 #是否可修改密码,0可修改,非0多少天后可修改 PASS_MIN_LEN5 #密码最小长度,使用pam_cracklib module,该参数不再有效 PASS_WARN_AGE 7 #密码失效前多少天在用户登录时通知用户修改密码 6、实际生产环境配置 /etc/security/pwquality.conf : minlen = 8 minclass = 1 maxrepeat = 0 maxclassrepeat = 4 lcredit = -1 ucredit = -1 dcredit = -1 ocredit = -1 difok=5 /etc/login.defs: PASS_MAX_DAYS 90 PASS_MIN_LEN 12 PASS_MIN_DAYS 7 PASS_WARN_AGE 30 UMASK 077

修改/etc/pam.d/system-auth文件

找到 password requisite pam_cracklib.so这么一行替换成如下:《Linux就该这么学》

password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict

参数含义:

尝试次数:5

最少不同字符:3

最小密码长度:10

最少大写字母:1

最少小写字母:3

最少数字:3


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8935173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存