1.5. 使用 Active Directory 中定义的 POSIX 属性连接到 AD
AD 可以创建并存储 POSIX 属性,如 uidNumber、gidNumber、UNIXHomeDirectory 或 loginShell。
使用 POSIX ID 映射时,SSSD 会创建新的 UID 和 GID,这将覆盖 AD 中定义的值。要保留 AD 定义的值,您必须在 SSSD 中禁用 POSIX ID 映射。
为获得最佳性能,请将 POSIX 属性发布到 AD 全局目录。如果全局目录中没有 POSIX 属性,SSSD 会直接连接到 LDAP 端口上的单个域控制器。
先决条件
确保所需的端口已打开:
- 确保您为 DNS 使用 AD 域控制器服务器。
- 验证两个系统中的系统时间已被同步。这样可确保 Kerberos 正常工作。
流程
安装以下软件包:
# dnf install realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation使用
realm join命令和--automatic-id-mapping=no选项,配置禁用了 POSIX ID 映射的本地 RHEL 系统。realmd套件自动编辑所有必需的配置文件。例如,对于名为ad.example.com的域:# realm join --automatic-id-mapping=no ad.example.com如果您已经加入一个域,您可以在 SSSD 中手动禁用 POSIX ID 映射:
-
打开
/etc/sssd/sssd.conf文件: -
在 AD domain 部分中,添加
ldap_id_mapping = false设置。 删除 SSSD 缓存:
rm -f /var/lib/sss/db/*重启 SSSD:
systemctl restart sssdSSSD 现在使用 AD 中的 POSIX 属性,而不是在本地创建它们。
注意您必须为 AD 中的用户配置了相关的 POSIX 属性(
uidNumber、gidNumber、unixHomeDirectory和loginShell)。-
打开
验证
显示 AD 用户详情,如管理员用户:
# getent passwd administrator@ad.example.com administrator@ad.example.com:*:10000:10000:Administrator:/home/Administrator:/bin/bash