![SSH + SAMBA + LDAP 问题](https://linux22.com/image/525003/SSH%20%2B%20SAMBA%20%2B%20LDAP%20%E9%97%AE%E9%A2%98.png)
我已经让 SSH + LDAP 正常工作了(我可以使用来自 LDAP 服务器 Server1 的凭据登录到 Server2)。现在,我想添加 Samba 服务器(Server3),如果它能像 Server2 一样对用户进行身份验证就好了。
我该如何实现这一点?据我所知,Samba 架构和用于存储 Unix 用户的架构是不同的。因此,如果我在 Samba 架构中更改密码,我将能够使用旧密码登录。我需要集中存储用户名/密码。如果我在 phpldapadmin 中更改一次,则意味着针对 samba 和 ssh。
谢谢。
答案1
您必须使用一些额外的机制来同步密码。
我知道有两种方法可以做到这一点:
在 Samba 中,您可以设置
ldap passwd sync = yes
当用户通过 Samba 更改密码时,这将更新 LDAP 中的所有三个密码哈希值。您还需要在 Samba 配置中设置一个预期脚本来更改 userPassword 属性。默认配置文件中有一个工作示例。
在 LDAP 服务器中使用覆盖。对于 OpenLDAP,您将需要 smbk5pwd。这似乎是一件相当麻烦的事。2005 年有一篇关于配置的文章。http://student.physik.uni-mainz.de/~reiffert/smbk5pwd.html
此时,您可以将 Samba 设置为仅更改 UNIX 密码,并让您的覆盖完成其余工作。
其他 LDAP 服务器可能也具有此功能。
答案2
要让 samba 使用 ldap 作为密码后端,请将其添加到配置中:
passdb 后端 = ldapsam:ldap://
ldap 后缀 =
或者也可以:
ldap 管理员 dn =
这里有更多相关信息: