近期因需要搭建了一个OpenLDAP,在其中配置了ssha的密码,但是由于需要进行eap验证,所以添加了samba插件,添加了NTLM密码。
但是问题是如果用户更新了userPass,但是sambaNTPassword密码却无法同步更新。
在中文圈找了很久,一直找不到一个原生解决方案,只找到了部分作者所写,建议通过统一身份认证代码层面进行更新,但是集成商的系统并不支持同步更新密码。
找了很久,终于找到了一个可在OpenLDAP软件本体中,直接同步更新的插件:smbk5pwd
一,安装
要在基于Debian/Ubuntu的系统上安装它,命令是:
sudo apt install slapd-smbk5pwd
安装这个插件本身是不够的。您需要告诉OpenLDAP服务器如何使用该模块,该模块涉及两个简单的过程。
二,启用模块
我们需要创建一个ldif文件。假设您已经将数据库后端作为模块安装在smbk5pwd模块安装到的同一目录中,并且没有其他模块,那么您可以使用这个非常小的ldif文件:
smbk5pwd-module.ldif
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: {1}smbk5pwd.la
应用这个配置:
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f smbk5pwd-module.ldif
三,配置模块
最后一步是根据手册页实际配置模块。您需要第三个ldif文件:
smbk5pwd-overlay.ldif
dn: olcOverlay={0}smbk5pwd,olcDatabase={1}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSmbK5PwdConfig
olcOverlay: {0}smbk5pwd
olcSmbK5PwdEnable: samba
olcSmbK5PwdMustChange: 0
应用这个配置:
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f smbk5pwd-overlay.ldif
现在当您的用户更改LDAP密码时,他们的sambaLMPassword和SambaNTPassword将同步更改。
skcnyr
您好,我的系统为ubuntu 软件包名slapd-smbk5pwd ,正常安装。配置没有报错。但是我尝试修改userPassword,sambaNTPassword好像没有变化。您文章的包名是不是写错了5k->k5.
哦哦 是的是的 我文章里面的包名写错了,应该是k5,您的LDAP模块也正常安装进去了吗?
是的,正常安装了。
您到/usr/lib/ldap目录下确认一下是否有smbk5pwd.la等一些文件
ls -la /usr/lib/ldap | grep smb
-rw-r–r– 1 root root 945 Feb 9 20:12 smbk5pwd.la
lrwxrwxrwx 1 root root 17 Feb 9 20:12 smbk5pwd.so -> smbk5pwd.so.0.0.0
lrwxrwxrwx 1 root root 17 Feb 9 20:12 smbk5pwd.so.0 -> smbk5pwd.so.0.0.0
-rw-r–r– 1 root root 27296 Feb 9 20:12 smbk5pwd.so.0.0.0
这是我邮箱方便的话联系我下。
您好,我按照您的配置,没有实现修改userPassword 同时修改sambaNTPassword,您方便的话能帮助我下吗
您是什么操作系统下安装的OpenLDAP,第一步apt安装的确认成功了吗。
如果第一步确认安装成功,就需要您看一下您进行每一步操作的报错或者输出内容来判断问题了。