我有 WS 2016 作为 AD/DC 运行,NTLM/NTLMv2 被禁用(Kerberos 是一种方法)。我已经使用本教程“将 Ubuntu 与 AD 集成”成功地将 Ubuntu 机器加入其中。如果一切正常(Samba 除外),可以查看 AD 上的用户和组,并可以使用 AD 用户登录 Ubuntu 机器。
现在,当我尝试使用 AD 用户登录 samba 共享时,我收到 NT_STATUS_NTLM_BLOCKED,这是预期的,感觉 NTLM 被 AD 阻止。
现在我的问题是如何设置(强制)Samba 使用 kerberos 而不是 NTLM ?
听起来您认为 SMB 服务器只是接收您的密码,然后使用 NTLM 或 Kerberos 来验证它。事情不是这样的。
在 SMB 中,是“客户端”在连接到服务器时使用 NTLM 或 Kerberos。您不能强制服务器使用 Kerberos,因为这不是服务器的决定;它可以提供 Kerberos,也可以不提供,但如果客户端不支持,它就无法使客户端支持 Kerberos。 大多数移动 SMB 客户端库没有任何 Kerberos 支持(由于复杂性);他们只会使用 NTLM。
Active Directory 服务器上的“本地组策略/计算机配置/Windows 设置/安全设置/本地策略/安全选项”中有两个策略:
网络安全:限制 NTLM:在此域中添加服务器例外
不是解决方案,但目前这是一个解决方法。