我一直走过
this tutorial并且一直在收到错误 – 可能是因为我手动输入错误 – 所以我重试了,在进入后执行它
# Load dynamic backend modules dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulepath: /usr/lib/ldap olcModuleload: back_hdb # Database settings dn: olcDatabase=hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: {1}hdb olcSuffix: dc=example,dc=local olcDbDirectory: /var/lib/ldap
它工作,所以我输入其余的并重新执行:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldif
现在它说
ldap_add: Other (e.g.,implementation specific) error (80) additional info: <olcSuffix> namingContext "dc=home,dc=local" already served by a preceding hdb database
正如我猜的那样,这意味着它无法完成ldapadd,因为已经存在同名的ldapadd.
sudo ldapdelete 'dc=example,dc=local'
并且它要求输入密码,我的密码不起作用,并且在初始设置中没有设置为olcRootPW.
如何在此上下文中使用ldapdelete,以便重新设置此数据库?
一般来说,cn = config的初始设置过程并不是很容易,并且有很多方法可以在这个过程中自己拍摄.但是,请记住cn = config存储在slapd.d中的LDIF格式文件中(通常在${prefix} / etc / openldap /中)并且可以手动编辑(小心并且slapd未运行时).因此,如果您已经锁定自己(没有RootDN / RootPW)或者以某种方式完全破坏了您的cn = config,您可以随时修复它.
原文链接:https://www.f2er.com/ubuntu/348411.html获得基本配置的一个好方法是实际以旧式slapd.conf方式进行,然后将其转换为slapd.d(使用slaptest -f -F)一旦基本内容(数据库,模块和RootDN / RootPW)已排序.