搜索

第 8 章 IdM 中 SSSD 身份验证故障排除

download PDF

在 Identity Management(IdM)环境中的身份验证涉及许多组件:

在 IdM 客户端中:

  • SSSD 服务。
  • Name Services Switch (NSS)。
  • 可插拔验证模块 (PAM)。

在 IdM 服务器上:

  • SSSD 服务。
  • IdM 目录服务器。
  • IdM Kerberos 密钥分发中心 (KDC)。

如果您要以 Active Directory (AD) 用户进行身份验证:

  • AD 域控制器上的目录服务器。
  • AD 域控制器上的 Kerberos 服务器。

要验证用户,您必须使用 SSSD 服务执行以下功能:

  • 从身份验证服务器检索用户信息。
  • 提示用户输入其凭据,将这些凭据传递到身份验证服务器,然后处理结果。

要了解更多有关 SSSD 服务和存储用户信息的服务器之间的信息流,以便可以排除您环境中身份验证尝试失败的问题,请参阅:

8.1. 使用 SSSD 获取 IdM 用户信息时的数据流

下图使用 getent passwd <idm_user_name> 命令在请求 IdM 用户信息的过程中简化 IdM 客户端和 IdM 服务器之间的信息流。

A diagram with numbered arrows representing the flow of information between an IdM client and an IdM server. The following numbered list describes each step in the process.

  1. getent 命令会触发来自 libc 库的 getpwnam 调用。
  2. libc 库引用 /etc/nsswitch.conf 配置文件来检查哪个服务负责提供用户信息,并发现 SSSD 服务的条目。
  3. libc 库打开 ss_sss 模块。
  4. nss_sss 模块检查内存映射缓存以获取用户信息。如果缓存中存在数据,则 ss_sss 模块会返回它。
  5. 如果用户信息不在内存映射缓存中,则会将请求传递给 SSSD sssd_nss 响应程序进程。
  6. SSSD 服务检查其缓存。如果缓存中存在数据并有效,sssd_nss 响应程序会从缓存中读取数据并将其返回到应用。
  7. 如果缓存中没有数据或数据已过期,sssd_nss 响应器将查询相应的后端进程并等待回复。SSSD 服务在 IdM 环境中使用 IPA 后端,通过 sssd.conf 配置文件中的 id_provider=ipa 启用。
  8. sssd_be 后端进程连接到 IdM 服务器,并从 IdM LDAP 目录服务器请求信息。
  9. IdM 服务器上的 SSSD 后端响应 IdM 客户端上的 SSSD 后端进程。
  10. 客户端上的 SSSD 后端将生成的数据存储在 SSSD 缓存中,并提醒已更新缓存的响应程序进程。
  11. sssd_nss 前端响应器进程从 SSSD 缓存检索信息。
  12. sssd_nss 响应器将用户信息发送到 ss_sss 响应者,以完成请求。
  13. libc 库将用户信息返回到请求它的应用程序。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.