centos7设置账号密码复杂度、密码有效期、账号锁定、会话超时等策略
目录
一、设置密码复杂度
CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。
(一)编辑system-auth
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
此项配置只对控制台有效,ssh无效。
如果需要对ssh远程有效,则需要修改/etc/pam.d/sshd
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600