[ldap]ldap相关问题

背景:

ldap数据库要同步,按照如下操作步骤:

1.导出:

使用slapcat,slapcat直接对数据库操作,

slapcat 

2.将所需的条目取出,生成文件in.ldif

3.在目标机器上导入:

ldapadd -D 'cn=admin,dc=xxxx,dc=xxx' -x -f in.ldif -W

但是爆出如下问题:

additional info: structuralObjectClass: no user modification allowed
ldap_add: Constraint violation (19)

参考下面的链接,http://serverfault.com/questions/290264/ldap-add-constraint-violation-19

使用slapcat会导出很多条目,而这些条目,只在slapd内部使用,任何账户(即便管理员账户)都不能修改。

所以要将这些条目删除才行。

第二个问题:

Nov 13 14:30:58 planner slapd[10954]: bdb_db_cache: db_open(objectClass) failed: Permission denied (13) 
Nov 13 14:30:58 planner slapd[10954]: bdb_index_read: Could not open DB objectClass 

http://forums.gentoo.org/viewtopic-t-515958.html

参考上面的帖子,结果再没有报这个错误。

chown openldap.openldap /var/lib/ldap/objectClass.bdb

第三个问题:

修改某个dn的密码

ldapmodify -D 'cn=admin,dc=xxxx,dc=net' -w binddnpassword<enter>
dn: cn=silence,ou=People,dc=xxxx,dc=net<enter>
changetype: modify<enter>
replace: userPassword<enter>
userPassword: mypass<enter>
<enter>

屏幕上出现:
modifying entry "cn=silence,ou=People,dc=xxxx,dc=net“

也可以将修改的内容写入文件,类似下面:

ldapmodify -D 'cn=admin,dc=xxxx,dc=net' -x -f jeffpass.ldif -W
原文地址:https://www.cnblogs.com/silenceli/p/3565005.html