5.2.2. 创建信任
以下小节描述了在不同配置场景中创建信任关系。第 5.2.2.1 节 “从命令行创建信任” 包含从命令行配置信任的完整步骤。其他小节描述了与这种基本配置场景不同的步骤,并引用所有其他步骤的基本步骤。
注意
如果您在现有信任环境中设置副本,则副本不会自动配置为信任控制器。要将副本配置为额外的信任控制器,请按照本节中的步骤操作。
创建信任后,请参阅 第 5.2.3 节 “跨林信任的安装后注意事项”。
5.2.2.1. 从命令行创建信任 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在 IdM 和 Active Directory Kerberos 域间创建信任关系涉及以下步骤:
- 为信任准备 IdM 服务器,如下所述 第 5.2.2.1.1 节 “为信任准备 IdM 服务器”
- 创建信任协议,如 第 5.2.2.1.2 节 “创建信任协议”
- 验证 Kerberos 配置,如 所述 第 5.2.2.1.3 节 “验证 Kerberos 配置”
5.2.2.1.1. 为信任准备 IdM 服务器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要为与 AD 的信任关系设置 IdM 服务器,请按照以下步骤执行:
- 安装所需的 IdM、信任和 Samba 软件包:
yum install ipa-server ipa-server-trust-ad samba-client
[root@ipaserver ]# yum install ipa-server ipa-server-trust-ad samba-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 配置 IdM 服务器以启用信任服务。如果您使用 ipa-replica-install --setup-adtrust 命令安装服务器,您可以跳过这一步。
- 运行
ipa-adtrust-install
工具:ipa-adtrust-install
[root@ipaserver ]# ipa-adtrust-install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 实用程序添加 AD 信任所需的 DNS 服务记录。如果 IdM 安装了集成的 DNS 服务器,则会自动创建这些记录。如果 IdM 安装时没有集成 DNS服务器,ipa-adtrust-install
会输出您必须手动添加到 DNS 的服务记录列表,然后才能继续。重要红帽强烈建议在每次运行ipa-adtrust-install 后验证 DNS 配置,如
“验证 DNS 配置”一节 所述,特别是在 IdM 或 AD 不使用集成 DNS 服务器时。 - 脚本会提示配置
slapi-nis
插件,这是一个兼容插件,允许较旧的 Linux 客户端与受信任的用户一起工作。Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: y
Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 首次安装 目录时,至少有一个用户(IdM 管理员)存在。SID 生成任务可以为任何现有用户创建一个 SID,以支持信任环境。这是一个资源密集型任务;对于大量用户而言,这可以单独运行。
Do you want to run the ipa-sidgen task? [no]: yes
Do you want to run the ipa-sidgen task? [no]: yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 确保正确配置了 DNS,如 第 5.2.1.2 节 “DNS 和 Realm 设置” 所述。
- 启动
smb
服务:systemctl start smb
[root@ipaserver ~]# systemctl start smb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 另外,还可在系统引导时配置
smb
服务自动启动:systemctl enable smb
[root@ipaserver ~]# systemctl enable smb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - (可选)使用
smbclient
实用程序验证 Samba 是否从 IdM 端响应 Kerberos 身份验证。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.2.1.2. 创建信任协议 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 ipa trust-add 命令为 Active Directory 域和 IdM 域创建信任协议:
ipa trust-add --type=type ad_domain_name --admin ad_admin_username --password
# ipa trust-add --type=type ad_domain_name --admin ad_admin_username --password
ipa trust-add 命令默认设置单向信任。在 RHEL 7 中无法建立双向信任。
要建立外部信任,请将
--external=true
选项传递给 ipa trust-add 命令。详情请查看 第 5.1.5 节 “外部 Trusts 到 ActiveActive Directorynbsp;Directory”。
注意
ipa trust-add 命令默认将服务器配置为信任控制器。详情请查看 第 5.1.6 节 “信任控制器和信任代理”。
以下示例使用
--two-way=true
选项建立了双向信任:
5.2.2.1.3. 验证 Kerberos 配置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要验证 Kerberos 配置,测试是否可以获取 IdM 用户的票据,以及 IdM 用户是否可以请求服务票据。
验证双向信任:
- 为 IdM 用户请求一个 ticket:
kinit user
[root@ipaserver ~]# kinit user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为 IdM 域中的服务请求 ticket:
kvno -S host ipaserver.example.com
[root@ipaserver ~]# kvno -S host ipaserver.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为 AD 域中的服务请求服务票据:
kvno -S cifs adserver.example.com
[root@ipaserver ~]# kvno -S cifs adserver.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 AD 服务票据被成功授予,则会使用其他所有请求的票据列出跨域票据(TGT)。TGT 命名为krbtgt/AD.DOMAIN@IPA.DOMAIN
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
从 IdM 端验证单向信任:
- 为 ActiveActive Directorynbsp 请求一个 ticket:Directory 用户:
kinit user@AD.DOMAIN
[root@ipaserver ~]# kinit user@AD.DOMAIN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为 IdM 域中的服务请求 ticket:
kvno -S host ipaserver.example.com
[root@ipaserver ~]# kvno -S host ipaserver.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 AD 服务票据被成功授予,则会使用其他所有请求的票据列出跨域票据(TGT)。TGT 命名为krbtgt/IPA.DOMAIN@AD.DOMAIN
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
localauth
插件将 Kerberos 主体映射到本地 SSSD 用户名。这允许 AD 用户使用 Kerberos 身份验证并访问 Linux 服务,这些服务直接支持 GSSAPI 身份验证。
注意
有关插件的详情请参考 第 5.3.7.2 节 “使用 SSH 不带密码”。