目标
- 设置密码的复杂度,长度不小于x,包含x位大写字母,x位小写字母,x个特殊字符。
- 设置密码最长使用时间不超过x天。
一、设置密码复杂度
1、编辑系统认证文件
vim /etc/pam.d/system-auth
2、配置置密码验证策略
在pam_pwquality.so模块后面加入密码的验证规则,如下图:
#长度不小于8位,至少包含1个数字,至少包含1个大写字母,至少包含1个小写字母,至少包含1个特殊字符
minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
#password requisite pam_pwquality.so minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 try_first_pass local_users_only retry=3 authtok_type=
配置参数说明:
#定义登录/修改密码失败后,可以重试的次数;
retry=N
#设置新密码的最小长度;
minlen=N
#:N>0时表示:新密码中数字出现的最多次数;当N<0时表示:新密码中数字出现最少次数;
dcredit=N
#:当N>0时表示:新密码中大写字母出现的最多次数;当N<0时表示:新密码中大写字母出现最少次数
ucredit=N
#:当N>0时表示:新密码中小写字母出现的最多次数;当N<0时表示:新密码中小写字母出现最少次数;
lcredit=N
#当N>0时表示:新密码中特殊字符出现的最多次数;当N<0时表示:新密码中特殊字符出现最少次数;
ocredit=N
#表示拒绝包含多于N个相同连续字符的密码,默认值为0表示禁用此检查
maxrepeat=N
#表示拒绝包含长于N的单调字符序列的密码,默认值为0表示禁用此检查。
#如:12345
maxsequence=N
3、测试
如下图修改密码,则提示不符合规则。
二、设置密码有效期
通过chage命令来设置密码有效期
如上图的使用方法
# -d,上一次更改时间,-m,可更改的最小天数,0则任何时间都可修改,-M,有效天数,-W,到期前多少天提醒,yy,用户名
#这里则是有效期90天,提前7天给出过期提醒,任意时间段都可以修改密码。
chage -d 0 -m 0 -M 90 -W 7 yy
也可以如下图直接chage 用户名,根据提示一步步设置。
当密码到期后进行ssh连接时会强制用户更改密码。
#查看用户的年龄信息
chage -l 用户名