7.5. 为 SSSD 配置系统服务


SSSD 提供多个系统服务的接口。最值得注意的是:

7.5.1. 配置服务:NSS

SSSD 如何使用 NSS 工作

Name Service Switch(NSS)服务使用配置源映射系统身份和服务:它提供了一个中央配置存储,服务可在其中查找各种配置和名称解析机制的来源。
SSSD 可以使用 NSS 作为多种类型的 NSS 映射的供应商。最值得注意的是:
  • 用户信息( passwd 映射)
  • 组( 映射)
  • Netgroups ( 网络组 映射)
  • 服务( 服务 映射)

先决条件

  • 安装 SSSD.
    # yum install sssd

配置 NSS 服务以使用 SSSD

  1. 使用 authconfig 工具启用 SSSD:
    [root@server ~]# authconfig --enablesssd --update
    这会更新 /etc/nsswitch.conf 文件,以便启用以下 NSS 映射以使用 SSSD:
    passwd:     files sss
    shadow:     files sss
    group:      files sss
    
    netgroup:   files sss
  2. 打开 /etc/nsswitch.conf 并在 services map 行中添加 sss
    services: files sss

配置 SSSD 以使用 NSS

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. [sssd] 部分中,确保 NSS 列为使用 SSSD 的服务之一。
    [sssd]
    [... file truncated ...]
    services = nss, pam
  3. [nss] 部分中,配置 SSSD 如何与 NSS 交互。例如:
    [nss]
    filter_groups = root
    filter_users = root
    entry_cache_timeout = 300
    entry_cache_nowait_percentage = 75
    有关可用选项的完整列表,请查看 sssd.conf(5) man page 中的 NSS 配置选项
  4. 重启 SSSD。
    # systemctl restart sssd.service

测试 Integration Works 是否正确

使用以下命令显示用户的信息:
  • ID 用户
  • passwd passwd 用户

7.5.2. 配置服务:PAM

警告
PAM 配置文件中的错误可以完全将用户锁定在系统之外。始终在执行任何更改前备份配置文件,并保持会话打开,以便您可以恢复任何更改。

配置 PAM 使用 SSSD

  • 使用 authconfig 工具启用 SSSD:
    # authconfig --enablesssdauth --update
    这会更新 PAM 配置来引用 SSSD 模块,通常位于 /etc/pam.d/system-auth/etc/pam.d/password-auth 文件中。例如:
    [... file truncated ...]
    auth		required	pam_env.so
    auth		sufficient	pam_unix.so nullok try_first_pass
    auth		requisite	pam_succeed_if.so uid >= 500 quiet
    auth        	sufficient	pam_sss.so use_first_pass
    auth		required	pam_deny.so
    [... file truncated ...]
详情请查看 pam.conf(5)pam(8) man page。

配置 SSSD 以使用 PAM

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. [sssd] 部分中,确保 PAM 列为使用 SSSD 的服务之一。
    [sssd]
    [... file truncated ...]
    services = nss, pam
  3. [pam] 部分中,配置 SSSD 如何与 PAM 交互。例如:
    [pam]
    offline_credentials_expiration = 2
    offline_failed_login_attempts = 3
    offline_failed_login_delay = 5
    有关可用选项的完整列表,请参阅 sssd.conf(5) man page 中的 PAM 配置选项
  4. 重启 SSSD。
    # systemctl restart sssd.service

测试 Integration Works 是否正确

  • 尝试以某一用户身份登录。
  • 使用 sssctl user-checks user_name auth 命令检查 SSSD 配置。详情请查看 sssctl user-checks --help 命令。

7.5.3. 配置服务: autofs

具有 自动挂载的SSSD 工作方式

automount 工具可以自动挂载和卸载 NFS 文件系统(按需挂载),这可以保存系统资源。有关 自动挂载 的详情,请查看 存储管理指南中的 autofs
您可以将 automount 配置为指向 SSSD。在这个设置中:
  1. 当用户尝试挂载目录时,SSSD 会联系 LDAP 来获取当前 自动挂载配置 所需的信息。
  2. SSSD 将 自动挂载 所需的信息存储在缓存中,因此即使 LDAP 服务器离线,用户可以挂载目录。

autofs 配置为使用 SSSD

  1. 安装 autofs 软件包。
    # yum install autofs
  2. 打开 /etc/nsswitch.conf 文件。
  3. automount 行中,将从 ldap 中查找 自动挂载映射 信息的位置从 ldap 改为 sss
    automount: files sss

配置 SSSD 以使用 autofs

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. [sssd] 部分中,将 autofs 添加到 SSSD 管理的服务列表中。
    [sssd]
    services = nss,pam,autofs
  3. 创建一个新的 [autofs] 部分。您可以将它留空。
    [autofs]
    有关可用选项列表,请参阅 sssd.conf(5) man page 中的 AUTOFS 配置选项
  4. 确保 sssd.conf 中有一个 LDAP 域,以便 SSSD 可以从 LDAP 读取 自动挂载 信息。请参阅 第 7.3.2 节 “为 SSSD 配置 LDAP 域”
    sssd.conf[domain] 部分接受几个与 autofs相关的选项。例如:
    [domain/LDAP]
    [... file truncated ...]
    autofs_provider=ldap
    ldap_autofs_search_base=cn=automount,dc=example,dc=com
    ldap_autofs_map_object_class=automountMap
    ldap_autofs_entry_object_class=automount
    ldap_autofs_map_name=automountMapName
    ldap_autofs_entry_key=automountKey
    ldap_autofs_entry_value=automountInformation
    有关可用选项的完整列表,请参阅 sssd.conf(5) man page 中的 DOMAIN SECTIONS
    如果没有提供其他 autofs 选项,则配置取决于身份提供程序设置。
  5. 重启 SSSD。
    # systemctl restart sssd.service

测试配置

  • 使用 automount -m 命令打印来自 SSSD 的映射。

7.5.4. 配置服务: sudo

使用 sudo的 SSSD 工作方式

sudo 实用程序为指定用户提供管理访问权限。有关 sudo 的更多信息,请参阅 系统管理员指南中的 sudo 工具文档
您可以将 sudo 配置为指向 SSSD。在这个设置中:
  1. 当用户尝试 sudo 操作时,SSSD 会联系 LDAP 或 AD 来获取当前 sudo 配置所需的信息。
  2. SSSD 将 sudo 信息存储在缓存中,因此即使 LDAP 或 AD 服务器离线,用户可以执行 sudo 操作。
SSSD 仅缓存应用于本地系统的 sudo 规则,具体取决于 sudoHost 属性的值。详情请查看 sssd-sudo(5) man page。

sudo 配置为使用 SSSD

  1. 打开 /etc/nsswitch.conf 文件。
  2. 将 SSSD 添加到 sudoers 行上的列表中。
    sudoers: files sss

配置 SSSD 以使用 sudo

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. [sssd] 部分中,将 sudo 添加到 SSSD 管理的服务列表中。
    [sssd]
    services = nss,pam,sudo
  3. 创建一个新的 [sudo] 部分。您可以将它留空。
    [sudo]
    有关可用选项列表,请参阅 sssd.conf(5) man page 中的 SUDO 配置选项
  4. 确保 sssd.conf 中有 LDAP 或 AD 域,以便 SSSD 可以从 目录读取 sudo 信息。详情请查看:
    LDAP 或 AD 域的 [domain] 部分必须包含这些与 sudo相关的参数:
    [domain/LDAP_or_AD_domain]
    ...
    sudo_provider = ldap
    ldap_sudo_search_base = ou=sudoers,dc=example,dc=com
    注意
    将身份管理或 AD 设置为 ID 提供程序会自动启用 sudo 供应商。在这种情况下,不需要指定 sudo_provider 参数。
    有关可用选项的完整列表,请参阅 sssd.conf(5) man page 中的 DOMAIN SECTIONS
    有关 sudo 供应商可用选项,请查看 sssd-ldap(5) man page。
  5. 重启 SSSD。
    # systemctl restart sssd.service
如果使用 AD 作为供应商,您必须扩展 AD 模式来支持 sudo 规则。详情请查看 sudo 文档。
有关在 LDAP 或 AD 中提供 sudo 规则的详情,请查看 sudoers.ldap(5) man page。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.