问题:
我正在尝试删除ldap目录中的一个条目。条目是存在的,但是由于一些不好的原因,条目类的模式不再存在。
我要删除的条目是带有dn: userr=lucio,dc=labammsis
的条目:
$ ldapsearch -LLL -x -h 10.1.1.254 -b "dc=labammsis" -s sub
dn: dc=labammsis
objectClass: top
objectClass: dcObject
objectClass: organization
o: labammsis
dc: labammsis
dn: cn=admin,dc=labammsis
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
dn: userr=lucio,dc=labammsis
objectClass: data
limit: 200
当我尝试执行ldapdelete
时,我会遇到一个无效的DN语法错误:
$ ldapdelete -x -D "cn=admin,dc=labammsis" -w "[mypassword]" -h 10.1.1.254 "userr=lucio,dc=labammsis"
ldap_delete: Invalid DN syntax (34)
additional info: invalid DN
我是否会因为模式不再存在而面临此错误?如果是,我能做什么?如果没有,那有什么问题?
Personal研究:
无论是在ServerFault上还是在网络上,都有很多像我这样的人面临着这个错误。无论如何,即使我读了很多关于这方面的问答,他们似乎总是在ldapadd
或ldapmodify
上。
我找到了关于这个职位的ldapdelete
,但问题在于命令语法中选项的顺序。
发布于 2020-06-10 16:20:11
经过长时间的重新研究,我发现如果您从模式中删除了objectClass定义,就无法删除objectClass条目。
解决方案是将一个objectClass添加到与您删除的objectClass同名的模式中,然后用ldapdelete
删除条目,最后从模式中删除objectClass。
https://serverfault.com/questions/1020280
复制相似问题