SSSD介绍
SSSD(System Security Services Daemon,系统安全服务守护进程)是 Linux 系统中用于集中管理身份认证、授权和用户信息的服务。它主要用于连接远程身份管理服务(如 LDAP、Active Directory、FreeIPA 等),并在本地缓存用户和组信息以提高性能。以下是关于 SSSD 的详细解析:
1. SSSD 的主要功能
SSSD 提供以下核心功能:
- 身份认证(Authentication):支持多种认证方式,如 LDAP、Kerberos、Active Directory 等。
 - 用户和组信息缓存:减少对远程目录服务的频繁查询,提高登录速度。
 - 支持多种身份提供源(Identity Providers):
local:本地用户(/etc/passwd、/etc/group)。ldap:标准 LDAP 目录(如 OpenLDAP)。ipa:FreeIPA 或 Red Hat Identity Management(IdM)。ad:Microsoft Active Directory。proxy:代理到其他 NSS/PAM 后端。
 - 自动挂载(Autofs):支持从 LDAP 或 IPA 加载自动挂载规则。
 - SSH 公钥管理:可从远程目录获取用户的 SSH 公钥。
 
2. SSSD 配置文件(sssd.conf)
SSSD 的主要配置文件是 /etc/sssd/sssd.conf,采用 INI 格式,包含多个部分:
2.1 [sssd] 全局配置
domains:指定要管理的身份域(如example.com)。services:定义启用的服务,如nss(用户/组查询)、pam(认证)、sudo(sudo 规则)、autofs(自动挂载)。cache_credentials:是否缓存用户凭据(默认False)。
2.2 [domain/DOMAIN_NAME] 域配置
id_provider:指定身份提供程序(如ldap、ad、ipa)。auth_provider:认证提供程序(如krb5、ldap)。access_provider:访问控制(如simple、ldap)。ldap_uri:LDAP 服务器地址(如ldap://ldap.example.com)。krb5_realm:Kerberos 域(如EXAMPLE.COM)。cache_timeout:缓存过期时间(默认 5 分钟)。
示例:
[sssd]domains = example.comservices = nss, pam, sudo[domain/example.com]id_provider = ldapauth_provider = krb5ldap_uri = ldap://ldap.example.comkrb5_realm = EXAMPLE.COM


