侧边栏壁纸
博主头像
运维日记-记录IT运维经验博主等级

行动起来,活在当下

  • 累计撰写 66 篇文章
  • 累计创建 7 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

pam

xlong
2024-03-24 / 0 评论 / 0 点赞 / 3 阅读 / 6577 字 / 正在检测是否收录...

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

后两种问题解决方案:

  1. 登录ECS实例,执行如下命令,检查密码相关文件权限,查看相关文件的属性配置情况。对存在特殊属性的文件,去除后再尝试修改密码即可。

    lsattr /etc/*shadow /etc/passwd /etc/group

    系统显示类似如下。

    ------------- /etc/gshadow
    ------------- /etc/shadow
    ------------- /etc/passwd
    ------------- /etc/group
  2. 如果存在“-i”属性,则执行如下命令,取消该安全属性。

    chattr -i /etc/*shadow /etc/passwd /etc/group
  3. 重新尝试修改密码。

  4. 如果还是报错,则执行如下命令,尝试备份shadow文件。

    mv shadow shadow.bak
  5. 执行如下命令,开启用户的投影密码。

    pwconv
  6. 再次尝试修改密码。

登陆会话超时

10分钟无操作,自动退出会话。

vim /etc/profile
TMOUT=600 #600秒超时
source /etc/profile


0

评论区