我对 相当熟悉openldap
。动态配置对我来说相当新奇。所以我想让生活更轻松,并openldap
通过 Apache Directory Studio GUI 更改配置。
Openldap
安装在 Debian Jessie 和版本 slapd 2.4.40+dfsg-1+deb8u1 amd64 上
尝试按照这个方法操作: http://gos.si/blog/installing-openldap-on-debian-squeeze-with-olc
但我无法访问它:
ldapsearch -b cn=config -D cn=admin,dc=domain -W
result: 32 No such object
一开始我以为这与 ACL 有关,于是删除了所有内容,但没有变化。
ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config
作品
那么为什么 olcRootDN 没有权限?此外,在 GUI 中我看不到 cn=config。在此先感谢您的帮助!
答案1
所以我自己回答了一下,现在明白了,对动态配置有很大的困惑和误解。也许有人有同样的问题:
olcRootDN
有区别dn: olcDatabase={1}mdb,cn=config and dn: olcDatabase={0}config,cn=config
在我的情况下,olcRootDN
根本olcDatabase={0}config,cn=config
没有设置。所以我按照链接中的说明添加了它olcRootPW
。
现在我可以cn=config
在 Apache Directory Studio GUI 中访问并轻松编辑它。最好有两个不同的密码,以免意外删除cn=config
答案2
@Adambean 询问 OP 是如何做到的。
一种方法是创建一个包含以下内容的 ldif(例如 config.ldif)文件:
# uncomment this part, if there is no olcRootDN present
# use replace instead of add, if you want to change the root dn
#dn: olcDatabase={0}config,cn=config
#changetype: modify
#add: olcRootDN
#olcRootDN: cn=admin,cn=config
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW
olcRootPW: <secret>
您可以使用以下方式生成秘密:
sudo slappasswd
然后只需将其复制/粘贴{SHAA}blahblahhashvaluegoeshereblah
到olcRootPW: <field>
您的 ldif 文件中即可。
并使用 ldapmodify 进行修改
sudo ldapmodify -Y EXTERNAL -H ldapi:// -f config.ldif
那就可以了。