第 5 章 其他身份和身份验证供应商配置

系统安全服务后台程序 (SSSD) 是一种用于访问远程目录和身份验证机制的系统服务。SSSD 的主要配置文件是 /etc/sssd/sssd.conf。以下章节概述了如何通过修改 /etc/sssd/sssd.conf 文件来配置 SSSD 服务和域:

  • 调整 SSSD 如何解析并打印完整用户名,以启用离线身份验证。
  • 配置 DNS 服务发现、简单访问提供程序规则和 SSSD 以应用 LDAP 访问过滤器。

5.1. 调整 SSSD 如何解释完整用户名

SSSD 将完整的用户名字符串解析到用户名和域组件中。默认情况下,SSSD 根据 Python 语法中的以下正则表达式,以 user_name@domain_name 格式解释完整的用户名:

(?P<name>[^@]+)@?(?P<domain>[^@]*$)
注意

对于 Identity Management 和 Active Directory 提供程序,默认的用户名格式为 user_name@domain_nameNetBIOS_name\user_name

您可以通过在 /etc/sssd/sssd.conf 文件中添加 re_expression 选项并定义自定义正则表达式来调整 SSSD 如何解释完整的用户名。

先决条件

  • root 访问权限

步骤

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. 使用 re_expression 选项定义自定义正则表达式。

    例 5.1. 在全局范围内定义正则表达式

    要全局定义所有域的正则表达式,请将 re_expression 添加到 sssd.conf 文件的 [sssd] 部分:

    您可以使用以下全局表达式来定义 domain\\usernamedomain@username 的格式:

    [sssd]
    [... file truncated ...]
    re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)

    例 5.2. 定义特定域的正则表达式

    要单独为特定域定义正则表达式,请将 re_expression 添加到 sssd.conf 文件的对应域部分:

    您可以使用以下全局表达式来定义 LDAP 域的 domain\\usernamedomain@username 格式的用户名:

    [domain/LDAP]
    [... file truncated ...]
    re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)

如需了解更多详细信息,请参阅 sssd.conf(5) 手册页中的 SPECIAL SECTIONSDOMAIN SECTIONS 部分的对 re_expression 的描述。