我有一些 Alma 8 盒子,它们集成到 Windows Active Directory (2012 R2) 中,使用 SSSD 进行用户身份验证,由于历史原因,使用 net ad(而不是 realmd)进行域加入。一切正常,除了当我尝试执行主机名更改时,AD 中的机器帐户名会动态更新。
我用来更新服务器主机名的过程如下:
- 使用 hostnamectl 更新服务器主机名
- 修改 ad_hostname 字段
/etc/sssd/sssd.conf
- 重启 SSSD
更新已传递到域控制器,动态 DNS 已成功更新。Active Directory 中的计算机帐户采用新的 DNS 记录,但保留旧计算机主机名作为其机器帐户名。
/etc/sssd.conf内容如下:
[sssd]
services = ssh, nss, pam
config_file_version = 2
domains = REDACTEDDOMAIN.LOCAL
[domain/REDACTEDDOMAIN.LOCAL]
ad_domain = redacteddomain.local
krb5_realm = REDACTEDDOMAIN.LOCAL
id_provider = ad
access_provider = ad
enumerate = false
cache_credentials = false
use_fully_qualified_names = False
ldap_user_ssh_public_key = streetAddress
ad_enable_gc = false
ad_gpo_access_control = disabled
ad_server = dca-dc1.redacteddomain.local,dca-dc2.redacteddomain.local
dyndns_update = true
dyndns_update_ptr = true
ad_hostname = servername.redacteddomain.local
[nss]
default_shell = /bin/bash
fallback_homedir = /home/%d/%u
[ssh]
初始域加入由专用服务帐户处理,并且机器帐户对域控制器拥有完全权限,可以从那里更新自身。
目前,我不完全确定是否存在实际问题并且机器名称更改未按预期处理,或者我的假设/过程是否错误,并且我错过了一步(例如,我应该执行完全离开并重新加入吗?)
有人可以建议我是否使用了正确的过程,以及上述内容是否足以让域控制器更新 AD 中的计算机名称,我下一步可以在哪里进行故障排除?
谢谢。
答案1
我认为您需要(假设您的 AD 管理员帐户具有足够的权限)并以根帐户的身份执行以下操作:
- 将您的复制
sssd.conf
到临时文件。 - 将主机名设置回原始名称(并在 sssd.conf 中重置 ad_hostname)。
realm leave --remove --user <AD admin username>
(这将从 AD 中删除旧主机名)。- 将主机名更改为新名称。确保
/etc/hosts
已更新。最好重新启动并检查主机名是否返回正确的名称。 realm discover <domain name>
。realm join -U <AD admin username> <domain name>
。- 复制保存
sssd.conf
到/etc/sssd/sssd.conf
(因为 AD 连接将会覆盖它)。 - 重新启动 SSSD。可选重新启动以确保一切正常。