我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

费劲力气安装好openldap软件后,然后使用各种ldap的管理软件(后续讨论)进行连接后。会发现什么数据也没有,也没有办法进行任何操作。这个事情就十分的怪异了,既然登陆成功了,为什么无法进行任何操作呢?这就是本文要试图解决的问题。

苏南大叔:openldap如何初始化数据结构?base.ldif和users.ldif - openldap初始化数据
openldap如何初始化数据结构?base.ldif和users.ldif(图6-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。测试环境:win10openldap@2.4.32。龙套角色:phpldapadmin@1.2.6.7

可能的症状

用各种ladp的客户端连接成功后,都可能会遇到类似的症状。就是:使用默认的Manager登陆成功后无法进行任何后续操作。如下图所示:

苏南大叔:openldap如何初始化数据结构?base.ldif和users.ldif - 错误截图
openldap如何初始化数据结构?base.ldif和users.ldif(图6-2)

phpldapadmin就是个龙套角色,不必关心其细节。报错关键词是:"This base cannot be created with PLA."。

初始化数据

用于初始化的.ldif文件数据有两个,分别是:

  • \etc\ldif\base.ldif
  • \etc\ldif\users.ldif

base.ldif描述了基本的组织结构。

苏南大叔:openldap如何初始化数据结构?base.ldif和users.ldif - base-ldif
openldap如何初始化数据结构?base.ldif和users.ldif(图6-3)

users.ldif描述了一个注册用户,它的uiduid=hacker,ou=People,dc=my-domain,dc=com,密码是OneTwo2012。(后续会用到)

苏南大叔:openldap如何初始化数据结构?base.ldif和users.ldif - users-ldif
openldap如何初始化数据结构?base.ldif和users.ldif(图6-4)

初始化工具

实际上openldap默认情况下,启动后只有一个名为"dc=my-domain,dc=com"的根节点,也就是用于binddn。后续的组织结构和人员都是不存在的。这里需要使用"bin/ldapadd.exe"工具。

使用的方式是(请根据实际情况修改:cn=Manager,dc=my-domain,dc=com字样):

ldapadd.exe -v -x -D “cn=Manager,dc=my-domain,dc=com” -f ..\etc\ldif\base.ldif ?W
ldapadd.exe -v -x -D “cn=Manager,dc=my-domain,dc=com” -f ..\etc\ldif\users.ldif -W

输入rootdn的密码secret,结构的初始化工作就完成了。

苏南大叔:openldap如何初始化数据结构?base.ldif和users.ldif - ldapadd-ldif
openldap如何初始化数据结构?base.ldif和users.ldif(图6-5)

直接结果

执行结果很明显,各种客户端工具重新连接后,对应的根节点下,就有了可以操作的相关权限了。用phpldapadmin来做对比图。

苏南大叔:openldap如何初始化数据结构?base.ldif和users.ldif - 截图对比
openldap如何初始化数据结构?base.ldif和users.ldif(图6-6)

相关文档

结语

openldap这款软件,是各种不走寻常路啊。更多ldap的经验文章,请点击苏南大叔的博客文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   ldap