搜索

7.3. 为 SSSD 配置身份和身份验证供应商

download PDF

7.3.1. SSSD 身份和身份验证提供程序简介

SSSD 域.身份和身份验证供应商

身份和身份验证提供程序在 SSSD 配置文件中配置为 。单个域可用作:
  • 身份提供商 (用户信息)
  • 身份验证提供程序 (用于身份验证请求)
  • 访问控制提供程序 (用于授权请求)
  • 组合这些提供程序(如果所有对应的操作都在单一服务器中执行)
您可以为 SSSD 配置多个域。必须至少配置一个域,否则 SSSD 不会启动。
/etc/sssd/sssd.conf 文件中的 access_provider 选项设置用于域的访问控制提供程序。默认情况下,选项设置为 permit,这将始终允许所有访问。详情请查看 sssd.conf(5) man page。

代理供应商

代理供应商充当 SSSD 和 SSSD 资源之间的中间中继。使用代理供应商时,SSSD 会连接到代理服务,代理会加载指定的库。
通过使用代理供应商,您可以配置 SSSD 以使用:
  • 其他验证方法,如指纹扫描仪
  • 传统系统,如 NIS
  • /etc/passwd 和远程身份验证中定义的本地系统帐户

身份供应商可以和认证服务商组合使用

表 7.1. 身份供应商可以和认证服务商组合使用
身份供应商 验证供应商
身份管理 [a] 身份管理 [a]
Active Directory [a] Active Directory [a]
LDAP LDAP
LDAP Kerberos
proxy proxy
proxy LDAP
proxy Kerberos
[a] LDAP 供应商类型的扩展。
请注意,本指南并不描述所有供应商类型。如需更多信息,请参阅以下其他资源:

7.3.2. 为 SSSD 配置 LDAP 域

先决条件

  • 安装 SSSD.
    # yum install sssd

配置 SSSD 以发现 LDAP 域

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. 为 LDAP 域创建一个 [domain] 部分:
    [domain/LDAP_domain_name]
  3. 如果您要使用 LDAP 服务器作为身份提供程序、身份验证供应商或两者,请指定它们。
    1. 要将 LDAP 服务器用作身份提供程序,将 id_provider 选项设置为 ldap
    2. 要将 LDAP 服务器用作身份验证供应商,请将 auth_provider 选项设置为 ldap
    例如,将 LDAP 服务器用作:
    [domain/LDAP_domain_name]
    id_provider = ldap
    auth_provider = ldap
  4. 指定 LDAP 服务器。选择以下任意一项:
    1. 要显式定义服务器,使用 ldap_uri 选项指定服务器的 URI:
      [domain/LDAP_domain_name]
      id_provider = ldap
      auth_provider = ldap
      
      ldap_uri = ldap://ldap.example.com
      ldap_uri 选项还接受服务器的 IP 地址。但是,使用 IP 地址而不是服务器名称可能会导致 TLS/SSL 连接失败。请参阅在红帽知识库 中的证书主题名称中配置 SSSD 提供程序以使用 IP 地址
    2. 要将 SSSD 配置为使用 DNS 服务发现动态发现服务器,请参阅 第 7.4.3 节 “配置 DNS 服务发现”
    另外,还可在 ldap_backup_uri 选项指定备份服务器。
  5. ldap_search_base 选项指定 LDAP 服务器的搜索基础:
    [domain/LDAP_domain_name]
    id_provider = ldap
    auth_provider = ldap
    
    ldap_uri = ldap://ldap.example.com
    ldap_search_base = dc=example,dc=com
  6. 指定与 LDAP 服务器建立安全连接的方式。推荐的方法是使用 TLS 连接。要做到这一点,启用 ldap_id_use_start_tls 选项,并使用这些与 CA 证书相关的选项:
    • ldap_tls_reqcert 指定客户端请求服务器证书以及在证书上执行哪些检查
    • ldap_tls_cacert 指定包含证书的文件
    [domain/LDAP_domain_name]
    id_provider = ldap
    auth_provider = ldap
    
    ldap_uri = ldap://ldap.example.com
    ldap_search_base = dc=example,dc=com
    
    ldap_id_use_start_tls = true
    ldap_tls_reqcert = demand
    ldap_tls_cacert = /etc/pki/tls/certs/ca-bundle.crt
    注意
    SSSD 始终使用加密频道进行身份验证,这可以确保密码绝不通过网络未加密发送。使用 ldap_id_use_start_tls = true 时,身份查找(如基于 idgetent 工具的命令)也被加密。
  7. 将新域添加到 [sssd] 部分中的 domains 选项中。选项列出 SSSD 查询的域。例如:
    domains = LDAP_domain_name, domain2

其它资源

以上步骤显示了 LDAP 供应商的基本选项。如需了解更多详细信息,请参阅:
  • sssd.conf(5) man page,它描述了适用于所有域的全局选项
  • sssd-ldap(5) man page,它描述了特定于 LDAP 的选项

7.3.3. 为 SSSD 配置文件提供程序

文件 提供程序镜像 /etc/passwd/etc/groups 文件的内容,以通过 SSSD 使这些文件中的用户和组可用。这可让您将 sss 数据库设置为 /etc/nsswitch.conf 文件中的用户和组的第一个源:
passwd:     sss files
group:      sss files
使用这个设置时,如果在 /etc/sssd/sssd.conf 中配置了 文件 提供程序,Red Hat Enterprise Linux 会首先将用户和组的所有查询发送到 SSSD。如果 SSSD 没有运行,或者 SSSD 无法找到请求的条目,系统会返回在本地文件中查找用户和组。如果您将大多数用户和组存储在中央数据库中,如 LDAP 目录,则此设置会增加用户和组查找的速度。

先决条件

  • 安装 SSSD.
    # yum install sssd

配置 SSSD 以发现文件域

  1. /etc/sssd/sssd.conf 文件中添加以下部分:
    [domain/files]
    id_provider = files
  2. 另外,还可在 /etc/sssd/sssd.conf 文件中将 sss 数据库设置为用户和组查找的第一个源:
    passwd:     sss files
    group:      sss files
  3. 将系统配置为在系统引导时启动 sssd 服务:
    # systemctl enable sssd
  4. 重启 sssd 服务:
    # systemctl restart sssd

其它资源

以上步骤显示了 文件 提供程序的基本选项。如需了解更多详细信息,请参阅:
  • sssd.conf(5) man page,它描述了适用于所有域的全局选项
  • sssd-files(5) man page,它描述了特定于 文件 供应商的选项

7.3.4. 为 SSSD 配置代理提供程序

先决条件

  • 安装 SSSD.
    # yum install sssd

配置 SSSD 以发现代理域

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. 为代理供应商创建一个 [domain] 部分:
    [domain/proxy_name]
  3. 指定身份验证供应商:
    1. auth_provider 选项设置为 代理
    2. 使用 proxy_pam_target 选项指定 PAM 服务作为身份验证代理。
    例如:
    [domain/proxy_name]
    auth_provider = proxy
    proxy_pam_target = sssdpamproxy
    重要
    确保代理 PAM 堆栈 递归包含 pam_sss.so
  4. 指定身份提供程序:
    1. id_provider 选项设置为 代理
    2. 使用 proxy_lib_name 选项指定 NSS 库作为身份代理。
    例如:
    [domain/proxy_name]
    id_provider = proxy
    proxy_lib_name = nis
  5. 将新域添加到 [sssd] 部分中的 domains 选项中。选项列出 SSSD 查询的域。例如:
    domains = proxy_name, domain2

其它资源

以上步骤显示了代理供应商的基本选项。详情请查看 sssd.conf(5) man page,它描述了所有类型的域和其他代理相关的选项可用的全局选项。

7.3.5. 配置 Kerberos 身份验证供应商

先决条件

  • 安装 SSSD.
    # yum install sssd

配置 SSSD 以发现 Kerberos 域

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. 为 SSSD 域创建一个 [domain] 部分。
    [domain/Kerberos_domain_name]
  3. 指定身份提供程序。例如,有关配置 LDAP 身份提供程序的详情,请参考 第 7.3.2 节 “为 SSSD 配置 LDAP 域”
    如果指定的身份提供程序中没有 Kerberos 主体名称,SSSD 会使用格式 username@REALM 构造主体。
  4. 指定 Kerberos 身份验证供应商详情:
    1. auth_provider 选项设置为 krb5
      [domain/Kerberos_domain_name]
      id_provider = ldap
      auth_provider = krb5
    2. 指定 Kerberos 服务器:
      1. 要显式定义服务器,使用 krb5_server 选项。选项接受服务器的主机名或 IP 地址:
        [domain/Kerberos_domain_name]
        id_provider = ldap
        auth_provider = krb5
        
        krb5_server = kdc.example.com
      2. 要将 SSSD 配置为使用 DNS 服务发现动态发现服务器,请参阅 第 7.4.3 节 “配置 DNS 服务发现”
      另外,还可在 krb5_backup_server 选项指定备份服务器。
    3. 如果 Change Password 服务没有在 krb5_serverkrb5_backup_server 中指定的 KDC 上运行,使用 krb5_passwd 选项指定运行该服务的服务器。
      [domain/Kerberos_domain_name]
      id_provider = ldap
      auth_provider = krb5
      
      krb5_server = kdc.example.com
      krb5_backup_server = kerberos.example.com
      krb5_passwd = kerberos.admin.example.com
      如果没有使用 krb5_passwd,SSSD 将使用 krb5_serverkrb5_backup_server 中指定的 KDC。
    4. 使用 krb5_realm 选项指定 Kerberos 域的名称。
      [domain/Kerberos_domain_name]
      id_provider = ldap
      auth_provider = krb5
      
      krb5_server = kerberos.example.com
      krb5_backup_server = kerberos2.example.com
      krb5_passwd = kerberos.admin.example.com
      krb5_realm = EXAMPLE.COM
  5. 将新域添加到 [sssd] 部分中的 domains 选项中。选项列出 SSSD 查询的域。例如:
    domains = Kerberos_domain_name, domain2

其它资源

以上步骤显示了 Kerberos 供应商的基本选项。如需了解更多详细信息,请参阅:
  • sssd.conf(5) man page,它描述了适用于所有域的全局选项
  • sssd-krb5(5) man page,它描述了特定于 Kerberos 的选项
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.