我正在尝试在我的 Ubuntu 工作站上配置自动加入域。我已做好一切准备(至少我相信如此,因为以下命令可以正常工作)
net ads join -U <username>
现在我有两个问题。有人能向我解释一下 -k 或 --kerberos 选项的作用以及何时可以使用吗?还有,有没有人成功自动化了这个过程?到目前为止,我已经设置了 puppet 来部署所有配置文件(krb、sssd、samba。所有这些都是手动配置并运行的),并在最后运行 net ads join,但它似乎失败了(这并不奇怪,因为我没有向它提供凭据),有人告诉我用 -k 选项运行上述命令,但这似乎也失败了。
答案1
-k 将使用 kerberos 身份验证,因此如果您拥有可以在 AD 中创建计算机对象的主体的票证,则 net ads join 命令将起作用,而无需提供任何其他凭据。
该过程如下:
获取票证:
kinit <user>
,<user>
例如域管理员帐户在哪里执行连接:
net ads join -k
您可以在脚本中执行此操作。您甚至可以考虑使用工具执行此操作,以防您不想在客户端上安装所有 samba 内容。msktutil 将替换 net ads join 命令。
至于完全自动化,这是一个有点模糊的问题,但关键概念是通过某种方式在 AD 中预先创建计算机帐户(您可以使用 msktuil、net ads 或 Windows GUI 来实现),然后使用其中一种工具使用一些默认密码实际加入客户端。
如果您有一个单独的管理员组来管理 AD,他们可能会为您预先创建计算机对象。如果您必须自己做这件事,我认为自动化这一过程没有什么用处,因为它不会为您节省任何工作。
答案2
答案是使用
net ads join -U username%password
这和域中具有向域添加设备的单一权限的新用户解决了我的问题。