使用只读 LDAP 进行 Samba 身份验证

使用只读 LDAP 进行 Samba 身份验证

我们有一个只读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.confLDAPnetbios name


这有点类似于不幸的是,它仅仅涵盖了使用只读服务器的可能性,而不是它的实现。

答案1

samba需要具有读写功能LDAP才能添加/修改机器、信任帐户以及域运行所必需的一些本地用户(管理员、无人以及域管理员等组)。

ou=people解决方法是:在 samba PDC 上安装 OpenLDAP,从主服务器LDAP以只读方式复制一个分支(假设:) ;使用覆盖将此分支应用到具有分支(本地用户)、、(不言自明)的glue读写树下。ou=usersou=groupsou=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

相关内容