15.3. 为 LDAP 故障切换配置 SSSD
在远程基本身份验证服务器上完成这些步骤。
您可以将 SSSD 配置为检索属性,如电子邮件地址和显示名称,并将它们传递给 OpenShift Container Platform 以便在 web 界面中显示。在以下步骤中,您要将 SSSD 配置为向 OpenShift Container Platform 提供电子邮件地址:
安装所需的 SSSD 和 Web 服务器组件:
# yum install -y sssd \ sssd-dbus \ realmd \ httpd \ mod_session \ mod_ssl \ mod_lookup_identity \ mod_authnz_pam \ php \ mod_php
设置 SSSD 以针对 LDAP 服务器验证此虚拟机。如果 LDAP 服务器是 FreeIPA 或 Active Directory 环境,则使用 realmd 将这个计算机加入到域中。
# realm join ldap.example.com
有关更高级的情况,请参阅 系统级验证指南
- 要使用 SSSD 管理 LDAP 的故障切换情况,请在 ldap_uri 行上的 /etc/sssd/sssd.conf 文件中添加更多条目。使用 FreeIPA 注册的系统可以使用 DNS SRV 记录自动处理故障转移。
修改 /etc/sssd/sssd.conf 文件的 [domain/DOMAINNAME] 部分并添加此属性:
[domain/example.com] ... ldap_user_extra_attrs = mail 1
- 1
- 指定检索 LDAP 解决方案的电子邮件地址的正确属性。对于 IPA,请指定
邮件
。其他 LDAP 解决方案可能使用其他属性,如电子邮件
。
确认 /etc/sssd/sssd.conf 文件中的 domain 参数仅包含 [domain/DOMAINNAME] 部分中列出的域名。
domains = example.com
授予 Apache 权限以检索电子邮件属性。将以下行添加到 /etc/sssd/sssd.conf 文件的 [ifp] 部分:
[ifp] user_attributes = +mail allowed_uids = apache, root
要确定正确应用所有更改,请重启 SSSD:
$ systemctl restart sssd.service
测试用户信息是否可以正确检索:
$ getent passwd <username> username:*:12345:12345:Example User:/home/username:/usr/bin/bash
确认您指定的 mail 属性返回您的域的电子邮件地址:
# dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \ /org/freedesktop/sssd/infopipe org.freedesktop.sssd.infopipe.GetUserAttr \ string:username \ 1 array:string:mail 2 method return time=1528091855.672691 sender=:1.2787 -> destination=:1.2795 serial=13 reply_serial=2 array [ dict entry( string "mail" variant array [ string "username@example.com" ] ) ]
- 尝试以 LDAP 用户身份登录虚拟机,并确认您可以使用 LDAP 凭证登录。您可以使用本地控制台或 SSH 等远程服务登录。
默认情况下,所有用户都可以使用其 LDAP 凭据登录远程基本身份验证服务器。您可以更改此行为:
- 如果您使用 IPA 加入的系统,请配置基于主机的访问控制。
- 如果您使用 Active Directory 加入系统,请使用组策略对象。
- 有关其他情况,请参阅 SSSD 配置文档。