5.2. 为 RHEL 主机配置受管服务帐户
此流程从 lab.example.com
Active Directory(AD)域为主机创建一个受管服务帐户(MSA),并配置 SSSD,以便您可以访问并验证 production.example.com
AD 域。
如果您需要从 RHEL 主机访问 AD 资源,红帽建议您使用 realm
命令将 RHEL 主机加入到 AD 域中。请参阅使用 SSSD 将 RHEL 系统直接连接到 AD。
只有满足以下条件之一时,才执行这个步骤:
- 您不能将 RHEL 主机加入到 AD 域中,而您想要在 AD 中为该主机创建帐户。
- 您已将 RHEL 主机加入到 AD 域中,您需要访问另一个 AD 域,其中来自您加入的域的主机凭证无效,比如使用单向信任。
先决条件
确保 RHEL 主机上的以下端口已为 AD 域控制器打开并可以被访问。
服务 端口 协议 DNS
53
TCP, UDP
LDAP
389
TCP, UDP
LDAPS(可选)
636
TCP, UDP
Kerberos
88
TCP, UDP
-
您有 AD Administrator 的密码,它有权在
production.example.com
域中创建 MSA。 -
您有运行
adcli
命令所需的 root 权限,并修改/etc/sssd/sssd.conf
配置文件。 -
(可选) 您安装了
krb5-workstation
软件包,其中包含klist
诊断实用程序。
流程
在
production.example.com
AD 域中为主机创建一个 MSA。[root@client ~]# adcli create-msa --domain=production.example.com
显示创建的 Kerberos keytab 中的 MSA 信息。记录 MSA 名称:
[root@client ~]# klist -k /etc/krb5.keytab.production.example.com Keytab name: FILE:/etc/krb5.keytab.production.example.com KVNO Principal ---- ------------------------------------------------------------ 2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes256-cts-hmac-sha1-96) 2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes128-cts-hmac-sha1-96)
打开
/etc/sssd/sssd.conf
文件并选择要添加的相应 SSSD 域配置:如果 MSA 对应于 来自不同林的 AD 域, 请创建一个名为
[domain/<name_of_domain>]
的新域部分,并输入 MSA 和 keytab 的信息。最重要的选项为ldap_sasl_authid
、LDAP_krb5_keytab
, 和krb5_keytab
:[domain/production.example.com] ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM ldap_krb5_keytab = /etc/krb5.keytab.production.example.com krb5_keytab = /etc/krb5.keytab.production.example.com ad_domain = production.example.com krb5_realm = PRODUCTION.EXAMPLE.COM access_provider = ad ...
如果 MSA 对应于 本地林的 AD 域, 则以
[domain/root.example.com/sub-domain.example.com]
格式创建新子域部分,并输入关于 MSA 和 keytab 的信息。最重要的选项为ldap_sasl_authid
、LDAP_krb5_keytab
, 和krb5_keytab
:[domain/ad.example.com/production.example.com] ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM ldap_krb5_keytab = /etc/krb5.keytab.production.example.com krb5_keytab = /etc/krb5.keytab.production.example.com ad_domain = production.example.com krb5_realm = PRODUCTION.EXAMPLE.COM access_provider = ad ...
验证
验证您可以检索 Kerberos ticket-granting ticket(TGT)作为 MSA:
[root@client ~]# kinit -k -t /etc/krb5.keytab.production.example.com 'CLIENT!S3A$' [root@client ~]# klist Ticket cache: KCM:0:54655 Default principal: CLIENT!S3A$@PRODUCTION.EXAMPLE.COM Valid starting Expires Service principal 11/22/2021 15:48:03 11/23/2021 15:48:03 krbtgt/PRODUCTION.EXAMPLE.COM@PRODUCTION.EXAMPLE.COM
- 在 AD 中,验证您在 Managed Service Accounts Organizational units(OU)中是否有适用于主机的 MSA。