无法在 Debian 上加载已编译的 ltb-password-check 模块

无法在 Debian 上加载已编译的 ltb-password-check 模块

我正在尝试编译并加载LDAP 工具箱项目的密码检查器模块用于提高 Debian 7.8 上密码策略覆盖的功能。

以下是我目前所做的:

  • 我已经安装并配置了 OpenLDAP 和密码策略覆盖。一切正常。
  • 我还从其官方消息来源并根据 Debian 的 OpenLDAP 源构建它。

包构建正确且干净,但是当我尝试使用 LDIF 或 LDAP 浏览器(我已启用访问)加载它时CN=config,我收到以下日志:

slapd[2426]: conn=1000 op=14 MOD dn="cn=module{0},cn=config"
slapd[2426]: conn=1000 op=14 MOD attr=olcModuleLoad
slapd[2426]: conn=1000 op=14 RESULT tag=103 err=80 text=<olcModuleLoad> handler exited with 1
slapd[2426]: conn=1000 op=15 SRCH base="cn=module{0},cn=config" scope=0 deref=3 filter="(objectClass=*)"
slapd[2426]: conn=1000 op=15 SRCH attr=*
slapd[2426]: conn=1000 op=15 SEARCH RESULT tag=101 err=0 nentries=1 text=

更新:最后我收到了一条有意义的错误信息:

slapd[2426]: loaded module check_password
slapd[2426]: module check_password: init_module() failed
slapd[2426]: olcModuleLoad: value #0: <olcModuleLoad> handler exited with 1!

答案1

我已经解决了这个问题,问题是 PEBKAC 的情况。为了使用 check_password 模块,您必须将 check_password.so 文件添加到密码策略本身,而不是添加到 LDAP 服务器启动时加载的主模块列表中。以下是操作方法

  1. 使用 Makefile 编译软件包
  2. 将文件复制到/usr/lib/ldap
  3. pwdPolicyChecker objectClass将您想要使用的密码检查器模块添加到密码策略中。
  4. pwdCheckModule将具有该值的属性添加check_password.so到您想要增强的策略中。
  5. 将属性设置pwdCheckQuality为值1

此时您已全部设置完毕。使用配置文件配置检查器,并将密码字典添加到您配置的路径中。文件位置取决于您的配置。

相关内容