获取OpenLDAP成员的工作状态时遇到的问题

获取OpenLDAP成员的工作状态时遇到的问题,ldap,openldap,Ldap,Openldap,我对OpenLDAP不是很熟悉,但我正在尝试让一个本地实例工作,以便测试开发中的客户机,它需要memberOf属性 根据《快速入门指南》中的说明,我已经在Centos 7虚拟机上下载并安装了OpenLDAP。我没有使用包管理来安装它。因为我使用的是2.4.45,所以它使用的是cn=config OLC-config,而不是slapd.conf配置方案 在上面的步骤4中,我使用了-enable memberof和-enable refint标志来配置脚本。当我运行预安装测试时,它确实运行了memb

我对OpenLDAP不是很熟悉,但我正在尝试让一个本地实例工作,以便测试开发中的客户机,它需要memberOf属性

根据《快速入门指南》中的说明,我已经在Centos 7虚拟机上下载并安装了OpenLDAP。我没有使用包管理来安装它。因为我使用的是2.4.45,所以它使用的是cn=config OLC-config,而不是slapd.conf配置方案

在上面的步骤4中,我使用了-enable memberof和-enable refint标志来配置脚本。当我运行预安装测试时,它确实运行了memberof测试,并且测试通过了,所以我知道可以以某种方式应用覆盖

我试过在许多其他地方找到的方向,但略有不同。我在这方面遇到了以下问题

ldapadd期间有关无效对象类oldModuleList的错误 ldapadd期间访问错误不足 我没有与任何示例中的模块路径对应的本地目录。我的机器上似乎没有memberof.la文件。 这是不是在正确的轨道上?或者,由于我是从源代码处安装的,或者使用了-enable memberof标志,流程是否会有所不同

如果我需要提供任何信息,请告诉我

更新: 目前,我正在尝试添加dn为的条目:olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config,如上面链接的说明所示。我明白了 ldapadd-x-D cn=Manager,dc=亚伦,dc=com-W-f member.ldif 输入LDAP密码: 添加新条目olcOverlay={0}memberof,olcDatabase={1}mdb,cn=config ldap\u添加:访问权限不足50

另一更新: 进步

我通过编辑向cn=config数据库添加了一个olcRootPW etc/slapd.d/cn=config/olcDatabase={0}config.ldif 然后使用该dn运行ldapadd: ldapadd-x-dcn=config-W-f member.ldif 我不得不把{0}和{1}放回去

尝试添加第一个refint ldif失败,但我认为我不需要它,因为它们不是模块,而是根据配置方式直接编译成slapd

现在,我尝试添加第二个refint条目并获取

[root@openldap openldap]# ldapadd -x -D "cn=config" -W -f refint2.ldif 
Enter LDAP Password: 
adding new entry "olcOverlay={1}refint,olcDatabase={1}mdb,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
    additional info: olcRefintAttribute <manager>: attribute type undefined

因此,以下是我为使其从我的原始版本开始工作所做的一切:

将olcRootPW条目添加到olcDatabase={0}config.ldif config条目。正如EJP所说,这是一种糟糕的形式,但由于这只是一个本地测试目录,我只希望它允许我测试客户端

如果文件中没有{0}和{1}项,加载仍然失败。但是我都回来了,它成功了。我没有回去检查EJP关于只拥有{1}的建议

然后,需要使用bind dn'cn=config'运行ldapadd命令。此时,启用MemberOfConfig的条目将成功添加

我试图添加第一个refint文件,即完成模块的文件。这不起作用,我得到了一个关于olcModuleList属性的错误。我想既然我通过-enable-memberof和-enable-refint将覆盖直接编译到OpenLDAP中,我就不需要这个部分了

对于第二个refint文件,即添加覆盖的文件,我只需要删除属性的“manager owner”部分,因为我的目录没有这些属性。此时,ldif已成功添加


然后我进入目录,添加用户、组,并将用户分配给组,有一次我告诉它获取操作属性,瞧,我的用户拥有适当的memberOf属性

为可能需要更多信息的用户添加此评论。本文清楚地解释了如何启用memberOf overlay以及引用完整性。事实上,它完全解释了端到端的openLDAP实现。

您需要提供实际的命令及其导致的实际错误。当然,“访问不足”是不言自明的?不要把代码放在注释中,也不要把应该成为你问题一部分的东西放在注释中。我看不懂,你也看不懂。但我使用的是系统设置时使用的root用户和凭据。我在网上找到了一些关于这个的东西,但它们只引用了配置的slapd.conf样式。我没有找到任何关于如何使用cn=config样式解决此问题的信息。您不应该提供{0}和{1}。OpenLDAP自动添加序列号并删除它们,没有区别。