我正在使用带有 SSSD 的 Ubuntu(服务器)加入活动目录域。(用于realm join
将服务器加入域)我在 smb.conf 中更改的唯一设置(共享除外)如下:
workgroup = MYDOMAIN
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
realm = MYDOMAIN.FQDN
security = ads
这使我能够使用活动目录用户通过 ssh 进入服务器并访问我在其上创建的 SMB 共享。不幸的是,Ubuntu 20 破坏了 samba,并且该服务将不再以security = ads
配置中的存在来启动(AD 用户的 ssh 仍然有效)。
在 log.smbd 中我看到以下错误(当尝试使用启动服务时security = ads
):
[2020/08/24 18:28:58.872952, 0] ../../source3/auth/auth_util.c:1384(make_new_session_info_guest)
create_local_token failed: NT_STATUS_INVALID_PARAMETER_MIX
[2020/08/24 18:28:58.873055, 0] ../../source3/smbd/server.c:2034(main)
ERROR: failed to setup guest info.
我尝试过进行各种配置更改,但似乎没有任何效果。我做错了什么吗?
答案1
您的问题是,您正在将 sssd 与 Samba 和共享一起使用。现在,您需要使用您的设置和共享运行 winbind。问题是您不能将 winbind 与 sssd 一起使用,这是因为 sssd 使用了一些 winbind 库的自身变体,并且它们与 Samba 库不兼容。您可以继续将 sssd 与 Samba 一起使用,但只能用于身份验证,没有共享,并且需要设置才能使用 idmap-sss。这一切都从 Samba 4.8.0 开始,我想我还应该提到 sssd 不执行 NTLM。我建议您阅读这个 samba wiki 页面: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member