无法将 Ubuntu/Linux 以域用户身份加入 Active Directory。适用于 Windows 客户端

无法将 Ubuntu/Linux 以域用户身份加入 Active Directory。适用于 Windows 客户端

我正在尝试将一台 Ubuntu/Linux 计算机以普通用户账户的身份加入到 Active Directory 域中,该账户不是域管理员组的成员。

我可以顺利加入 Windows 计算机。您不必是管理员,但要有一定数量的计算机,您无需成为管理员即可加入。

但是当我尝试将 Ubuntu Linux 计算机纳入域时,它会失败并显示以下错误消息。 我将不胜感激任何帮助。

daniel@linux01:~$ sudo realm join -v -U '[email protected]' AD.example.com
[sudo] password for daniel:
 * Resolving: _ldap._tcp.ad.example.com
 * Performing LDAP DSE lookup on: 10.0.0.10
 * Successfully discovered: ad.example.com
Password for [email protected]:
 * Unconditionally checking packages
 * Resolving required packages
 * LANG=C /usr/sbin/adcli join --verbose --domain ad.example.com --domain-realm AD.example.com --domain-controller 10.0.0.10 --login-type user --login-user [email protected] --stdin-password
 * Using domain name: ad.example.com
 * Calculated computer account name from fqdn: LINUX01
 * Using domain realm: ad.example.com
 * Sending NetLogon ping to domain controller: 10.0.0.10
 * Received NetLogon info from: dc1.ad.example.com
 * Wrote out krb5.conf snippet to /var/cache/realmd/adcli-krb5-iIuXdP/krb5.d/adcli-krb5-conf-eeT5bO
 * Authenticated as user: [email protected]
 * Looked up short domain name: AD
 * Looked up domain SID: S-1-5-21-13313029-848207003-2406435418
 * Using fully qualified name: linux01.ad.example.com
 * Using domain name: ad.example.com
 * Using computer account name: LINUX01
 * Using domain realm: ad.example.com
 * Calculated computer account name from fqdn: LINUX01
 * Generated 120 character computer password
 * Using keytab: FILE:/etc/krb5.keytab
 * Computer account for LINUX01$ does not exist
 * Found well known computer container at: CN=Computers,DC=ad,DC=example,DC=com
 * Calculated computer account: CN=LINUX01,CN=Computers,DC=ad,DC=example,DC=com
 * Encryption type [3] not permitted.
 * Encryption type [1] not permitted.
 ! Insufficient permissions to modify computer account: CN=LINUX01,CN=Computers,DC=ad,DC=example,DC=com: 000020E7: AtrErr: DSID-03153402, #1:
        0: 000020E7: DSID-03153402, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 90008 (userAccountControl):len 4

adcli: joining domain ad.example.com failed: Insufficient permissions to modify computer account: CN=LINUX01,CN=Computers,DC=ad,DC=example,DC=com: 000020E7: AtrErr: DSID-03153402, #1:
        0: 000020E7: DSID-03153402, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 90008 (userAccountControl):len 4

 ! Insufficient permissions to join the domain
realm: Couldn't join realm: Insufficient permissions to join the domain

答案1

您没有提供任何容器名称(错误消息中的 CN),因此 Linux01 计算机被插入到默认的“计算机”CN 中。我猜您的用户帐户没有足够的权限来更改此 CN,或者更可能它根本不存在于您的 AD 中,因此您必须提供完整的 CN 路径。

在 Windows 中,将计算机添加到 AD 时,GUI 允许您浏览域树并选择适当的容器(叶)。您可能应该在文件中添加一个条目realm.conf,或者将 OU 信息直接添加到命令行。

/etc/realmd.conf默认值:

[domain.example.com]
computer-ou = OU=Linux Computers,DC=AD,DC=example,DC=com
# computer-ou = OU=Linux Computers,

在命令行上:

realm join [email protected] AD.example.com --computer-ou='Linux ComputersDC=AD,DC=example,DC=com'

首先使用以下命令找到 OU/CN ldapsearch

ldapsearch -LLL -H ldap://AD.example.com -b adc,dc=example,dc=com -D 'AD\daniel'  -W '(name=web_servers)' dn

答案2

我遇到了完全相同的问题,事实证明将 Linux 系统加入域所需的权限比将 Windows 系统加入域所需的权限更多,但我不确定为什么会这样。

我按照本指南为我的域加入帐户添加了其他权限:https://www.computertechblog.com/active-directory-permissions-required-to-join-linux-and-windows-computers-to-a-domain/

来自上述链接:

将系统加入 AD 所需的标准权限(Linux 和 Windows)

  • 重设密码
  • 读写帐户限制
  • 已验证写入 DNS 主机名
  • 已验证写入服务主体名称
  • 读取和写入 DNS 主机名属性

Linux 计算机加入 AD 所需的附加权限 (Linux)

  • 读取 dNSHostName
  • 写入 dNSHostName
  • 读取 msDS-AddtionalSamAccountName
  • 写入 msDS-AddtionalSamAccountName
  • 读取 msDS-SupportedEncryptionTypes
  • 写入 msDS-SupportedEncryptionTypes
  • 读取操作系统
  • 写入操作系统
  • 读取操作系统版本
  • 写入操作系统版本
  • 读取操作系统ServicePack
  • 写入OperationSystemServicePack
  • 读取 servicePrincipalName
  • 写入 servicePrincipalNameWrite servicePrincipalName
  • 读取 userAccountControl
  • 写入 userAccountControl
  • 读取用户主体名称
  • 写入 userPrincipal 名称

笔记:您必须显示“特定于属性”的权限才能看到这些额外的权限。

有关的:

相关内容