pam
PAM配置文件:
一种是写在/etc/pam.conf文件中,但centos6之后的系统中,这个文件就没有了。
另一种写法是,将PAM配置文件放到/etc/pam.d/目录下,/etc/pam.d 目录下文件的名字就是服务名称。
配置文件分为四列
第一列代表模块类型
第二列代表控制标记
第三列代表模块路径
第四列代表模块参数
模块参数解释:
even_deny_root
限制root用户,默认策略对root用户不生效,如果对root用户使用策略,需要配置此参数。deny
设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户。unlock_time
设定普通用户锁定后,多少时间后解锁,单位是秒。root_unlock_time
设定root用户锁定后,多少时间后解锁,单位是秒。
pam_tally2
查看用户登录失败次数:
pam_tally2 --user root
密码复杂度策略
#vim /etc/login.def
#密码的最大有效期
PASS_MAX_DAYS 180
#是否可修改密码,多少天后可修改
PASS_MIN_DAYS 0
#密码最小长度,pam_pwquality设置优先
PASS_MIN_LEN 8
#密码失效前多少天在用户登录时通知用户修改密码
PASS_WARN_AGE 15
以上设置只针对新用户生效,原来用户不生效。
原有用户设置密码有效期,可以使用命令:
chage -M 180 root
登陆锁定策略
Linux有一个 pam_tally2.so
的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。
CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。
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强制执行密码复杂度策略。
centos8:
pam_tally2
模块在centos8后已淘汰掉,centos8用 pam_faillock
模块替换。
#编辑 /etc/pam.d/system-auth 或者 /etc/pam.d/password-auth 写入下面的内容
auth required pam_faillock.so preauth silent audit deny=3
通过 pam_faillock
模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中。
# 查看所有用户的尝试失败登录次数
[root@master1 ~]# faillock
# 解锁test用户账户
[root@master1 ~]# faillock --user test --reset
# 解锁所有用户
[root@master1 ~]# faillock --reset
Authentication token manipulation error 错误:
修改密码时,当前密码不对会出现此错误。
与用户密码相关的文件设置了“-i”安全属性。
与用户密码相关的文件被篡改或出现异常。
注:和密码管理相关的文件如下。
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
后两种问题解决方案:
登录ECS实例,执行如下命令,检查密码相关文件权限,查看相关文件的属性配置情况。对存在特殊属性的文件,去除后再尝试修改密码即可。
lsattr /etc/*shadow /etc/passwd /etc/group
系统显示类似如下。
------------- /etc/gshadow ------------- /etc/shadow ------------- /etc/passwd ------------- /etc/group
如果存在“-i”属性,则执行如下命令,取消该安全属性。
chattr -i /etc/*shadow /etc/passwd /etc/group
重新尝试修改密码。
如果还是报错,则执行如下命令,尝试备份shadow文件。
mv shadow shadow.bak
执行如下命令,开启用户的投影密码。
pwconv
再次尝试修改密码。
登陆会话超时
10分钟无操作,自动退出会话。
vim /etc/profile
TMOUT=600 #600秒超时
source /etc/profile
评论区