我们有一个只读OpenLDAP
服务器,用于各种身份验证服务。我目前正在尝试将一个(独立)samba
服务器添加到该列表中,该服务器仅用作备份的存储空间。除了基本的用户名/密码身份验证之外,不需要任何其他东西。
令人难以置信的长篇教程和操作指南都假设LDAP
服务器是新配置的,并且具有完全访问权限。虽然我拥有服务器的管理员凭据,并且它已经包含所有用户和填充的 Samba 方案,但LDAP
服务器只是一个只读镜像。
目前我的配置...
# LDAP Settings
passdb backend = ldapsam:ldap://192.168.100.11
ldap suffix = dc=our-domain,dc=de
ldap user suffix = ou=people
ldap admin dn = cn=adminacc,ou=daemonadmins,dc=our-domain,dc=de
ldap ssl = no
ldap passwd sync = yes
...失败:
smbd version 4.2.14-Debian started.
Copyright Andrew Tridgell and the Samba Team 1992-2014
[2017/01/13 12:52:49.367065, 0] ../source3/passdb/pdb_ldap_util.c:313(smbldap_search_domain_info)
smbldap_search_domain_info: Adding domain info for SBACKUP failed with NT_STATUS_UNSUCCESSFUL
[2017/01/13 12:52:49.367106, 0] ../source3/passdb/pdb_ldap.c:6534(pdb_ldapsam_init_common)
pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain. We cannot work reliably without it.
[2017/01/13 12:52:49.367116, 0] ../source3/passdb/pdb_interface.c:179(make_pdb_method_name)
pdb backend ldapsam:ldap://192.168.100.11 did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO)
这当然不足为奇。该服务器不为 所知,LDAP
并且由于它是只读的,因此无法创建新条目。我不明白为什么首先需要添加有关该机器的任何信息。是否需要以某种方式配置 smb 以应对 的只读访问LDAP
?
如果我明确设置一个与服务器上现有条目匹配的条目,netbios name
一切都会正常进行。但这有点像黑客行为,我宁愿不改变smb.conf
LDAP
netbios name
这有点类似于这不幸的是,它仅仅涵盖了使用只读服务器的可能性,而不是它的实现。
答案1
samba
需要具有读写功能LDAP
才能添加/修改机器、信任帐户以及域运行所必需的一些本地用户(管理员、无人以及域管理员等组)。
ou=people
解决方法是:在 samba PDC 上安装 OpenLDAP,从主服务器LDAP
以只读方式复制一个分支(假设:) ;使用覆盖将此分支应用到具有分支(本地用户)、、(不言自明)的glue
读写树下。ou=users
ou=groups
ou=computers
ldap machine suffix = ou=computers
ldap suffix = dc=our-domain,dc=de
# do not set the following; OpenLDAP is
# able to sort out if a user is a replicated user in 'ou=people'
# or a local user in 'ou=users'
# ldap group suffix = ou=groups
# ldap user suffix = ou=people