![Ubuntu + AD;无法加入域:无法设置机器 spn:违反约束](https://linux22.com/image/584429/Ubuntu%20%2B%20AD%EF%BC%9B%E6%97%A0%E6%B3%95%E5%8A%A0%E5%85%A5%E5%9F%9F%EF%BC%9A%E6%97%A0%E6%B3%95%E8%AE%BE%E7%BD%AE%E6%9C%BA%E5%99%A8%20spn%EF%BC%9A%E8%BF%9D%E5%8F%8D%E7%BA%A6%E6%9D%9F.png)
我正在尝试将 Ubuntu 12.04 服务器加入 Active Directory。我安装了samba
,并kb5-user
创建了 AD 中的计算机帐户,然后执行以下操作:
> net ads testjoin
Join is OK
到目前为止一切顺利。然后我遇到了一个问题:
> sudo net join -U myuser
Failed to join domain: failed to set machine spn: Constraint violation
由于我不是管理员,因此我无权修改 Active Directory 服务器上的任何内容。有什么方法可以解决此错误吗?
答案1
我也遇到了同样的问题,winbindd 根本无法启动。该条目已经在 /etc/hosts 中,但我需要更改 /etc/nsswitch.conf,并更改顺序,以便“文件”排在第一位。
主机:mdns4_minimal 文件 nis dns mdns4 myhostname
到
主机:文件 mdns4_minimal nis dns mdns4 myhostname
答案2
我知道这篇文章已经过时了,但我刚刚遇到了同样的问题,以下是我发现的问题。如果您尝试将计算机添加到域中,但您没有使用“域管理员”帐户。委派的帐户权限至少需要包括以下内容:
-此对象及其所有后代
•创建计算机对象
•删除计算机对象
-后代计算机对象
•读取所有属性
•写入所有属性
•更改密码
•重设密码
•验证写入 DNS 主机名
•验证写入服务主体
希望有帮助!
答案3
在生产 Solaris Samba 升级和同时移动到不同的 AD 域时遇到了此错误。我们已删除旧域中的对象,但尚未告诉 Samba 离开旧域。解决方案是尝试“net ads leave”,即使它显示“无法离开域:无法连接到 AD:无法联系请求领域的任何 KDC”。但是,它必须清除 Samba 中的某些内容,然后我们才能加入新域。
我们从 Samba 3 升级到 Samba 4 时,遇到了以下几点需要注意,有些人可能会觉得很有用:
在 nsswitch 中使用 winbind 作为 passwd 会导致更改密码时出现一些问题,并出现此错误“检测到 /etc/nsswitch.conf 中不支持的配置”
使用本地 Unix 帐户和 samba 用户映射,我们不需要 nsswitch 中的 winbind 来获取密码或组(或任何地方)。事实上,如果我们在 nsswitch 中使用 winbind,我们必须在 /etc/system 中添加“set ngroups_max = ”(并重新启动),否则当 samba 枚举超过 16 个组时,它会崩溃并发生核心转储。如果它枚举的组超过 ,它也会崩溃。
使用非 fqdn 主机名跨域访问 samba 共享将失败,并出现 NT_STATUS_NO_SUCH_USER。解决方案是在 nsswitch 中的文件之后和 dns 之前为主机添加 [NOTFOUND=continue]。即“hosts: files [NOTFOUND=continue] dns”
这些可能很少见,但我想分享我们的经历。
答案4
遇到了同样的问题...需要在 /etc/hosts 中添加一个条目。
因此,第一个条目需要是 IP,第二个条目必须是您加入的域的完全限定域名,其余条目可以按任意顺序排列。