自从 CentOS 7 出现以来,将机器加入 AD 变得轻而易举。它只是工作,如果没有,原因从错误消息中显而易见。但是,现在我被困住了:
# realm join [email protected] example.net -v
* Resolving: _ldap._tcp.example.net
* Performing LDAP DSE lookup on: 192.168.1.50
* Successfully discovered: example.net
Password for [email protected]:
* Required files: /usr/sbin/oddjobd, /usr/libexec/oddjob/mkhomedir, /usr/sbin/sssd, /usr/bin/net
* LANG=C LOGNAME=root /usr/bin/net -s /var/cache/realmd/realmd-smb-conf.R9517Y -U [email protected] ads join example.net
Enter [email protected]'s password:
Failed to join domain: failed to join domain 'example.net' over rpc: The directory service was unable to allocate a relative identifier.
! Joining the domain example.net failed
realm: Couldn't join realm: Joining the domain example.net failed
看来罪魁祸首是这个directory service was unable to allocate a relative identifier
错误;但我能找到的任何东西都与加入后连接到 DC 有关。
域控制器是 192.168.1.50 上的 Windows 2016
有趣(并不奇怪,假设该域被成功发现),realm discover
是成功的:
# realm discover example.net
example.net
type: kerberos
realm-name: EXAMPLE.NET
domain-name: example.net
configured: no
server-software: active-directory
client-software: sssd
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd
required-package: adcli
required-package: samba-common-tools
此外,如果我使用错误的密码或使用另一个没有加入权限的帐户 - 我会收到我期望的错误。
对不起,因为我对各种 Linux 发行版不是超级有经验,但从 Active Directory 方面来看,这听起来你的 RID Master 可能有问题。如果池已用尽且未补充,则可能是其他域控制器由于某种原因无法与其通信。
幕后发生的事情是 RID 主机一次为新对象分配一个(我认为)500 个 RID 的池,当该池少于一半时,发出新请求并分配了一个新的 RID 块。
我建议尝试一个完整的 dcdiag 并查看它是否有任何错误(或要求您的 AD 管理员这样做)作为开始措施。