我在 Ubuntu 上使用 LDAP 设置了 Samba,但它坚持使用主机名进行sambaDomainName
查询,而不是配置的工作组,因此无法获取域信息。
如果我设置netbios name
为工作组名称,那么它可以工作,但是服务器以工作组名称而不是主机名出现在网络上,这不是我想要的。
ldapsearch
我可以使用with查询 LDAP sambaDomainName
,所以我很确定那部分是好的。
我正在使用 Samba 2:4.7.6+dfsg~ubuntu-0ubuntu2.2
部分配置:
[global]
security = domain
passdb backend = ldapsam:"ldap://ldap-server"
workgroup = MYGROUP
netbios name = HOSTNAME
我已经尝试过security=user
,server role = standalone
但它们没有任何区别。我没有 Windows 域,只有 JumpCloud 提供的工作组和 LDAP 服务器(他们配置了 Samba 模式,它适用于我所有其他非 Samba LDAP 客户端)。
不管我如何配置它,我知道我还有其他事情要完成实际的 idmap 设置,但是 AFAIK 除非它首先可以正确查询 LDAP,否则它不会有任何区别,因此上面的部分配置。
我在挖掘 samba 源代码后发现了缺失的配置条目,其中:
[global] security = user domain logons = yes
这将使它使用
workgroup
配置条目而不是netbios name
. 在内部,这是根据 、 和 设置的组合security
确定domain logons
的server role
。server role
可以从配置中省略,因为默认值对上述两个设置有效。