原文网址:https://www.youyong.top/article/1158e0a8795d
PAM 模块 pam_listfile.so 相关访问控制策略导致用户登录失败。
pam_listfile.so 模块可用于 Linux 访问控制。要解决此问题,请进行如下配置检查:
- 通过 SSH 客户端或 管理终端 登录服务器。
- 通过 cat 等指令查看异常登录模式,对应的 PAM 配置文件。说明如下:
| 文件 |
功能说明 |
| /etc/pam.d/login |
控制台(管理终端)对应配置文件 |
| /etc/pam.d/sshd |
登录对应配置文件 |
| /etc/pam.d/system-auth |
系统全局配置文件 |
注:每个启用了 PAM 的应用程序,在 /etc/pam.d 目录中都有对应的同名配置文件。例如,login 命令的配置文件是 /etc/pam.d/login,可以在相应配置文件中配置具体的策略。
- 检查前述配置文件中,是否有类似如下配置信息:
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
相关参数简要说明:
-
item:设置访问控制的对象类型,可选值包括 tty|user|rhost|ruser|group|shell。
-
sense:定义了当在配置文件中找到符合条件的项目时的控制方式。可选值:allow|deny。即 allow 代表白名单方式,而 deny 代表黑名单方式。
-
file:用于指定配置文件的全路径名称。
-
onerr:定义了出现错误(比如无法打开配置文件)时的缺省返回值。
-
相关策略可以提高服务器的安全性。请用户基于安全性和易用性权衡后,再确定是否需要修改相关配置。
-
如果需要修改相关策略配置,在继续之前建议进行文件备份。
- 使用 vi 等编辑器,按需修改相关参数值,确认对应的访问控制文件中,已经对相应用户做了访问放行。或者整个删除或注释(在最开头添加 # 号)整行配置,比如:
#auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
- 尝试重新登录服务器。
- PAM (Pluggable Authentication Modules ) 是由 Sun 提出的一种认证机制。它通过提供一些动态链接库和一套统一的 API,将系统提供的服务和该服务的认证方式分开。使得系统管理员可以灵活地根据需求,给不同的服务配置不同的认证方式,而无需更改服务程序,同时也便于向系统中添加新的认证手段。
- 每个启用了 PAM 的应用程序,在 /etc/pam.d 目录中都有对应的同名配置文件。例如,login 命令的配置文件是 /etc/pam.d/login,可以在相应配置文件中配置具体的策略。
-
- 更多关于 pam_listfile 的信息,可以参阅 linux-pam.org 官方文档: pam_listfile - deny or allow services based on an arbitrary file
注意:截至 2016 年 5 月 14 日,上述链接正确无误。如果您发现该链接已失效,请提供反馈,阿里云员工会复查并更新该链接。
原文网址:https://www.youyong.top/article/1158e0a8795d