如何从linux ldap客户端更改samba密码?

我已经build立了一个Ubuntu的清晰LDAP + SAMBA PDC,主要基于这篇文章: http : //ubuntuforums.org/showthread.php?t=1499753 – 它的工作原理。 用户可以通过login到Win PC来改变他们的密码,并按下Ctrl + Alt + Del 。 这样unix的密码也被改变 – 桑巴照顾了这一点。

我也使用LDAP服务器从ubuntu桌面进行身份validation。 他们可以使用/usr/bin/passwdlogin并更改密码,但这样samba密码不会改变。

问题:

1)是否有一种方法来更改不仅userPassword,而且sambaNTpassword属性? 我已经读过pam_smbpass.so但是我不知道如何使用它 – 我甚至在某处读到只有本地smb密码可以更新的地方。

2)如果第一个问题的答案是“否”,那么有没有办法让基于unixPassword slapd同步unixPassword ? 也许设置“ exop ”来做到这一点?

3)如果答案再次是“否”,那么我可以在userPassword中清除明文密码,并运行外部脚本来计算sambaNTpassword的散列sambaNTpassword 。 我尝试了jacksum -a md4 -q "txt:password"但计算出来的散列不等于存储在ldap中的散列。 我不知道为什么。

4)我还能做什么?

你可以通过使用OpenLDAP的smbk5pwd覆盖来实现这一点。

这个覆盖需要被添加到你的slapdconfiguration。 然后,通过exop“更改密码”操作更改任何密码也将更新Samba(和可选的Kerberos)密码。

您可以简单地configuration您的Ubuntu桌面以通过/etc/ldap.conf使用exop密码更改操作。