第 6 章 其他身份和身份验证供应商配置
系统安全服务后台程序 (SSSD) 是一种用于访问远程目录和身份验证机制的系统服务。SSSD 的主要配置文件是 /etc/sssd/sssd.conf
。以下章节概述了如何通过修改 /etc/sssd/sssd.conf
文件来配置 SSSD 服务和域:
- 调整 SSSD 如何解析并打印完整用户名,以启用离线身份验证。
- 配置 DNS 服务发现、简单访问提供程序规则和 SSSD 以应用 LDAP 访问过滤器。
6.1. 调整 SSSD 如何解释完整用户名
SSSD 将完整的用户名字符串解析到用户名和域组件中。默认情况下,SSSD 根据 Python 语法中的以下正则表达式,以 user_name@domain_name
格式解释完整的用户名:
(?P<name>[^@]+)@?(?P<domain>[^@]*$)
对于 Identity Management 和 Active Directory 提供程序,默认的用户名格式为 user_name@domain_name
或 NetBIOS_name\user_name
。
您可以通过在 /etc/sssd/sssd.conf
文件中添加 re_expression
选项并定义自定义正则表达式来调整 SSSD 如何解释完整的用户名。
-
要全局定义正则表达式,请将正则表达式添加到
sssd.conf
文件的[sssd]
部分,如在全局范围内定义正则表达式所示。 -
要定义特定域的正则表达式,请将正则表达式添加到
sssd.conf
文件的对应域部分(例如[domain/LDAP]
),如为特定域定义正则表达式示例所示。
先决条件
-
root
访问权限
步骤
-
打开
/etc/sssd/sssd.conf
文件: 使用
re_expression
选项定义自定义正则表达式。例 6.1. 在全局范围内定义正则表达式
要全局定义所有域的正则表达式,请将
re_expression
添加到sssd.conf
文件的[sssd]
部分:您可以使用以下全局表达式来定义
domain\\username
或domain@username
的格式:[sssd] [... file truncated ...] re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
例 6.2. 定义特定域的正则表达式
要单独为特定域定义正则表达式,请将
re_expression
添加到sssd.conf
文件的对应域部分:您可以使用以下全局表达式来定义 LDAP 域的
domain\\username
或domain@username
格式的用户名:[domain/LDAP] [... file truncated ...] re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
如需了解更多详细信息,请参阅系统上 sssd.conf (5)
手册页中的 SPECIAL SECTIONS
和 DOMAIN SECTIONS
部分的 re_expression
的描述。