Linux设置口令复杂度和口令定期更换策略

Linux 密码复杂度设置pam_pwquality、pam_passwdqc(centos7)
1.Linux对应的密码策略模块有:pam_passwdqc 和 pam_pwquality 。

其中pam_passwdqc模块对应的是/etc/login.defs,pam_pwquality对应的是/etc/security/pwquality.conf

2.模块的添加方法:/etc/pam.d/passwd

password required pam_pwquality.so retry=3

3.模块的配置方法有两种:

(1) /etc/pam.d/system-auth

password required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0

(2) /etc/security/pwquality.conf

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

  1. /etc/login.defs详解

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

作者:SkTj
链接:www.jianshu.com/p/3393008e37d9
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

6.实际生产环境配置

cat /etc/security/pwquality.conf

minlen = 8
minclass = 1
maxrepeat = 0
maxclassrepeat = 4
lcredit = -1
ucredit = -1
dcredit = -1
ocredit = -1
difok=5

cat /etc/login.defs:

PASS_MAX_DAYS 90
PASS_MIN_LEN 12
PASS_MIN_DAYS 7
PASS_WARN_AGE 30
UMASK 077

本作品采用《CC 协议》,转载必须注明作者和本文链接
lizhiqiang666
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
技术负责人 @ 某某
文章
91
粉丝
209
喜欢
905
收藏
1029
排名:25
访问:24.1 万
私信
所有博文
社区赞助商