安装和配置

  1. 首先安装SSSD包:
# yum install sssd sssd-client
  1. 运行 authconfig 工具启用 openldap 和 sssd:
# authconfig --enablesssd --enablesssdauth --ldapserver="" --ldapbasedn="[ldap-base-dn]" --enableldaptls --update
  1. 如果服务器也有图形用户界面(Gnome),我们可以执行命令:
# authconfig-gtk

并通过 GUI 模式运行配置:

将文件 /etc/nsswitch.conf 配置为使用 sss 作为 passwd、shadow 和 group 部分的第二个选项。

# vi /etc/nsswitch.conf
passwd: files sss
shadow: files sss
group: files sss
如何使用 SSSD 在 CentOS/RHEL 6 上配置 LDAP 客户端

从 Oracle Linux 6/RedHat Linux 6 LDAP 服务开始使用并推荐 SSSD 。

SSSD

系统安全服务守护程序 (SSSD - System Security Services Daemon) 是一种提供对不同身份和身份验证提供程序的访问的服务。
我们可以将 SSSD 配置为使用本机 LDAP 域(即具有 LDAP 身份验证的 LDAP 身份提供程序)或者具有 Kerberos 身份验证的 LDAP 身份提供程序。
它为系统提供了一个 NSS 和 PAM 接口,以及一个可插拔的后端系统来连接到多个不同的帐户源。

注意:SSSD 不支持通过未加密通道进行身份验证。
如果启用 LDAP 身份验证,则需要 TLS/SSL 或者 LDAPS。
如果 LDAP 服务器仅用作身份提供者,则不需要加密通道。

更多: zhilu jiaocheng

常见问题

如果由于某种原因用户在运行 id 命令时无法“看到”他们的次要组,则此问题可能与 LDAP 架构有关,该架构可能在客户端或者 AD 端设置错误。

验证 /etc/sssd/ 目录中的 sssd.conf 文件,尽管 sssd.conf 文件必须手动创建和配置,因为安装后未配置 SSSD。

示例输出:

# cat /etc/sssd/sssd.conf
[domain/AD]
description = LDAP domain with AD server
enumerate = false
min_id = 1000
;
id_provider = ldap
auth_provider = ldap
ldap_uri = ldap://your.ad.server.com
ldap_schema = rfc2307bis
ldap_search_base = dc=example,dc=com
ldap_default_bind_dn = cn=Administrator,cn=Users,dc=example,dc=com
ldap_default_authtok_type = password
ldap_default_authtok = YOUR_PASSWORD
ldap_user_object_class = person
ldap_user_name = msSFU30Name
ldap_user_uid_number = msSFU30UidNumber
ldap_user_gid_number = msSFU30GidNumber
ldap_user_home_directory = msSFU30HomeDirectory
ldap_user_shell = msSFU30LoginShell
ldap_user_principal = userPrincipalName
ldap_group_object_class = group
ldap_group_name = msSFU30Name
ldap_group_gid_number = msSFU30GidNumber

验证在 AD 上使用了什么架构,主要应该是 rfc2307bis,但这可能会有所不同。
请注意,上面的 sssd.conf 是示例,它完全取决于 AD 配置,如有任何问题,请查看 sssd.conf 的手册页了解详细信息。

# man sssd.conf

架构更改后,使用以下命令刷新 sssd 缓存:

# sss_cache -d DOMAIN_NAME_USED

并重启 sssd 服务

# service sssd restart
日期:2020-09-17 00:13:20 来源:oir作者:oir