linux(centos)下密码有效期和密码复杂度设置

1、密码有效期

方法一:

chage -l 用户名  查看用户的过期时间

 

chage -M 99999 用户名  用命令修改过期时间为永久

chage -M 90 用户名  设置密码有效期为90天

chage -d 0 用户名    强制用户登陆时修改口令

chage -d 0 -m 0 -M 90 -W 15 用户名   强制用户下次登陆时修改密码,并且设置密码最低有效期0和最高有限期90,提前15天发警报提示

chage -E '2020-09-30' 用户名  这个账号的有效期是2020-09-30

 

方法二:

vim /etc/login.defs

PASS_MAX_DAYS 90 #密码最长过期天数
PASS_MIN_DAYS 80 #密码最小过期天数
PASS_MIN_LEN 10 #密码最小长度
PASS_WARN_AGE 7 #密码过期警告天数

 

 

 

 

2、设置复杂度

方法一:(这个没有成功过,尝试方法二成功了)

pam_cracklib.so 才是控制密码复杂度的关键文件/lib/security/pam_cracklib.so

[root@DB-Server security]# man pam_cracklib

retry=N
改变输入密码的次数,默认值是1。就是说,如果用户输入的密码强度不够就退出。可以使用这个选项设置输入的次数,以免一切都从头再来

minlen=N
新密码最小长度
 
difok=N
默认值为10。这个参数设置允许的新、旧密码相同字符的个数。不过,如果新密码中1/2的字符和旧密码不同,则新密码被接受
 
dcredit=N
新密码中数字个数
 
ucredit=N
新密码中大写字符个数
 
lcredit=N
新密码中小写字符个数

ocredit=N
新密码中特殊字符个数

方法二:修改/etc/pam.d/system-auth文件

vim /etc/pam.d/system-auth

找到 password requisite pam_cracklib.so这么一行替换成如下(没有就直接新增一行吧):
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
密码字典:/usr/share/cracklib/pw_dict

注意:管理员root去修改用户密码时,虽然会提示密码不符合,但是最终密码会修改成功,因为管理员会跳过规则,所以修改密码时用非管理员账号是符合这个规则的

 

 

 

 

 


 

 
posted on 2020-06-16 10:46  金龟子大战猕猴桃  阅读(7330)  评论(0编辑  收藏  举报