注意:修改文件前可以先把文件备份,或者重要数据备份
参考博文:centos7设置账号密码复杂度、密码有效期、账号锁定、会话超时等策略_centos7设置密码复杂度-CSDN博客
一、设置密码复杂度
vim /etc/pam.d/system-auth
修改策略
修改的时候注意前面没有配置参数前是否有一样的,有的话可以删了再加,我之前没有注意,导致加了这行无效
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=5 enforce_for_root
(二)参数说明
负数:代表最少出现次数,正数:代表最多出现次数
minlen = 8,密码长度至少8位;
lcredit=-1,至少包含一个小写字母;
ucredit=-1,至少包含一个大写字母;
dcredit=-1,至少包含要给数字;
ocredit=-1,至少包含一个特殊字符;
difok=5,新密码最多与旧密码重复5个字符;
enforce_for_root,对root强制执行密码复杂度策略。
二、设置密码有效期
编辑login.defs
vim /etc/login.defs
配置策略:
#密码的最大有效期
PASS_MAX_DAYS 180
#是否可修改密码,多少天后可修改
PASS_MIN_DAYS 0
#密码最小长度,pam_pwquality设置优先
PASS_MIN_LEN 8
#密码失效前多少天在用户登录时通知用户修改密码
PASS_WARN_AGE 15
#以上设置只针对新用户生效,原来用户不生效。
原有用户设置密码有效期,可以使用命令:
chage -M 180 root
三、设置登陆会话超时
10分钟无操作,自动退出会话
//编辑文件
vim /etc/profile
//添加该参数或者修改
TMOUT=600 #600秒超时
//保存文件后退出执行
source /etc/profile
四、设置登陆失败锁定
输错5次密码,账号锁定10分钟。
vim /etc/pam.d/system-auth
记得一定放在第一行
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600
account required pam_tally2.so
此项配置只对控制台有效,ssh无效。
如果需要对ssh远程有效,则需要修改/etc/pam.d/sshd
//也是放第一行
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600
保存配置后重启ssh
sudo systemctl restart sshd
其它:
sudo pam_tally2 --user=<用户名> 查看登录失败次数
pam_tally2 --user 用户名 --reset 解锁账号