9

OpenLDAP同步userPass和sambaNTPassword属性|smbk5pwd配置

Share
Avatar photo
  • 2024 年 3 月 17 日

近期因需要搭建了一个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将同步更改。

英文版更为详细的原文