首页 文章

让OpenLDAP memberOf工作的问题

提问于
浏览
0

我对OpenLDAP不太熟悉,但我正在尝试使本地实例工作以测试开发中的客户端,这需要memberOf属性 .

我已根据http://www.openldap.org/doc/admin24/guide.html#A快速入门指南中的说明在Centos 7 VM上下载并安装了OpenLDAP . 我没有使用包管理来安装它 . 因为我'm using 2.4.45, it'使用cn = config OLC配置而不是slapd.conf配置方案

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

我已经尝试了在https://adimian.com/blog/2014/10/how-to-enable-memberof-using-openldap/找到的指示,并且有轻微的变种,还有很多其他的地方 . 我遇到了以下问题......

  • ldapadd期间有关无效objectClass oldModuleList的错误

  • ldapadd期间访问错误不足

  • 我似乎在机器上的任何地方都有memberof.la文件 .

这甚至是在正确的轨道上?或者这个过程会不同,因为我从源代码安装或使用了--enable-memberof标志?

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

更新:目前,我正在尝试添加dn dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config 条目,如上面的链接说明中所示 . 我得到 # ldapadd -x -D "cn=Manager,dc=aaron,dc=com" -W -f member.ldif Enter LDAP Password: adding new entry "olcOverlay={0}memberof,olcDatabase={1}mdb,cn=config" ldap_add: Insufficient access (50)

另一个更新:进展!

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

试图添加第一个refint ldif失败,但我认为我没有't need that since these aren' t模块,但根据我的配置方式直接编译成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

2 回答

  • 0

    为可能需要有关此内容的其他信息的用户添加此评论 . This文章清楚地解释了如何启用memberOf叠加以及参照完整性 . 实际上,它完全解释了端到端的openLDAP实现 .

  • 1

    所以这就是我要从原始问题开始工作所需要做的一切:

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

    如果文件中没有{0}和{1}项,则加载仍然失败 . 我,但两个回来,它的工作 . 我没有回去检查EJP的建议只有{1} .

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

    我试图添加第一个refint文件,即执行模块的文件 . 这不起作用,我得到一个关于olcModuleList属性的错误 . 我想自从我通过--enable-memberof和--enable-refint直接将覆盖编译成OpenLDAP后我不需要这部分了吗?

    对于第二个refint文件,添加叠加层的文件,我只需要删除属性的'manager owner'部分,因为我的目录没有这些属性 . 此时ldif成功添加 .

    然后我进入了目录并添加了用户,组和分配用户到组,并且(一旦我告诉它获取操作属性)并且看到我的用户具有相应的memberOf属性!

相关问题