Samba - 仅使用 LDAP 进行身份验证?

Kev*_*ane 5 ldap samba openldap

我想建立一个Samba服务器用于身份验证的LDAP服务器唯一的,但是从SSSD把所有的账户信息(用户ID等),PAM等,基本上,服务器应该作为一个独立的服务器一样,除了用户名和密码将根据 LDAP 进行检查。

LDAP服务器只提供posixAccountInetOrgPerson对象类,不受我控制;我无法改变它。

Internet 上有很多关于使 Samba 与 LDAP 一起工作的信息,但它总是涉及修改 LDAP 模式。在我们的情况下,这不是一个选择。它也应该是必要的,因为我只是想对用户名和密码的用户进行认证。

顺便说一句,我知道 Samba 不允许使用匿名绑定进行身份验证(因为密码是散列传输的)。据我所知,这是通过提供 LDAP 管理员 DN 解决的一个单独问题。

系统已设置为通过 SSSD 对同一 LDAP 服务器的本地登录、SSH 等进行身份验证。这有效并且经过充分测试。

软件:RedHat 7.3,Samba 4.4.4,LDAP 服务器是 Oracle LDAP(可能基于 OpenLDAP,但不在我的控制范围内)。

我正在寻找有关如何完成此操作的说明。

Kev*_*ane 1

答案似乎是不可能做到的,至少在不关闭密码散列并严重损害安全性的情况下是不可能的。

该问题与最初导致创建 smbpasswd 文件和实用程序的问题基本相同:Samba 服务器永远看不到明文密码。密码始终经过哈希处理。多年来,哈希算法已经发生了变化。存储在普通 LDAP 模式中的密码也经过哈希处理,但使用不同的算法。

解决此问题的唯一方法是修改 LDAP 架构(正如许多站点所建议的那样)、使用 smbpasswd 或使用 Kerberos 进行身份验证。