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

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

我正在尝试设置 Samba 服务器以使用 LDAP 服务器进行身份验证仅有的,但从 SSSD、PAM 等中提取所有帐户信息(用户 ID 等)。基本上,服务器应该充当独立服务器,除了将根据 LDAP 检查用户名和密码。

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

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

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

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

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

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

答案1

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

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

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

相关内容