![将 Centos 加入 AD:目录服务无法分配相对标识符](https://linux22.com/image/712013/%E5%B0%86%20Centos%20%E5%8A%A0%E5%85%A5%20AD%EF%BC%9A%E7%9B%AE%E5%BD%95%E6%9C%8D%E5%8A%A1%E6%97%A0%E6%B3%95%E5%88%86%E9%85%8D%E7%9B%B8%E5%AF%B9%E6%A0%87%E8%AF%86%E7%AC%A6.png)
自从 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
此外,如果我使用错误的密码或使用没有加入权限的其他帐户 - 我就会收到我预期的错误。
答案1
抱歉,因为我对各种 Linux 发行版不是很熟悉,但从 Active Directory 方面来看,这听起来像是您的 RID 主机出现了问题。如果池已耗尽且未得到补充,则可能是其他域控制器出于某种原因无法与其通信。
底层发生的情况是,RID 主机每次为新对象分配一个(我认为) 500 个 RID 的池,当 RID 数量少于一半时,就会发出一个新请求并分配一个新的 RID 块。
我建议尝试完整的 dcdiag 并查看其中是否有任何错误(或要求您的 AD 管理员这样做)作为起始措施。