【发布时间】:2018-02-28 14:55:46
【问题描述】:
我对 OpenLDAP 不是很熟悉,但我正在尝试让本地实例正常工作以测试开发中的客户端,这需要 memberOf 属性。
我已经按照http://www.openldap.org/doc/admin24/guide.html#A 快速入门指南中的说明在 Centos 7 虚拟机上下载并安装了 OpenLDAP。我没有使用包管理来安装它。由于我使用的是 2.4.45,所以它使用的是 cn=config OLC 配置,而不是 slapd.conf 配置方案
在上面的第 4 步中,我在配置脚本中使用了 --enable-memberof 和 --enable-refint 标志。当我运行预安装测试时,它确实运行了 memberof 测试,并且它们通过了,所以我知道可以以某种方式应用覆盖。
我已经尝试了在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)
另一个更新: 进步!
我通过编辑将 olcRootPW 添加到 cn=config 数据库
etc/slapd.d/cn=config/olcDatabase={0}config.ldif
然后使用该 dn 运行 ldapadd:
ldapadd -x -D "cn=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
【问题讨论】:
-
您需要提供实际的命令以及它们导致的实际错误。
-
好吧,“访问权限不足”是不言自明的,当然?不要将代码放入 cmets 中,也不要将应该属于您问题的内容放入 cmets 中。我看不懂,你也看不懂。
-
但我使用的是 root 用户和系统设置的凭据。我在网上找到了一些关于此的内容,但它们仅引用了 slapd.conf 配置样式。我还没有找到有关如何使用 cn=config 样式解决此问题的任何信息。
-
您不应提供
{0}和{1}。 OpenLDAP 自动添加序列号 -
删除它们,没有区别。