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 域,且您需要访问您加入的域的主机凭证无效,例如:有一个单向信任。
先决条件
确保 RHEL 主机上的以下端口已为 AD 域控制器打开并可以被访问。
服务 端口 协议 DNS
53
TCP, UDP
LDAP
389
TCP, UDP
LDAPS(可选)
636
TCP, UDP
Kerberos
88
TCP, UDP
-
您有在
production.example.com
域中创建 MSA 的 AD Administrator 的密码。 -
您有运行
adcli
命令以及修改/etc/sssd/sssd.conf
配置文件所需的 root 权限。 -
(可选) 您已安装了
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。