将用户的DN从使用CN更新为使用UID

时间:2016-12-18 20:45:17

标签: ldap opendj distinguishedname

我正在寻找一种方法来更新用户的条目DN:

dn: cn=Super,ou=Prod,ou=clients,dc=test,dc=com

对此:

dn: uid=SuperUID,ou=Prod,ou=clients,dc=test,dc=com

鉴于我的目录有多个,并且有些已经在他们的DN中使用了UID属性,所以我只需要更新这个ou。 另外,我的ldap服务器正在运行openDJ。

我一直在这里和其他地方搜索,但我找不到任何合适的答案。

我一直收到这个错误:

Result Code:  65 (Object Class Violation)
Additional Information:  The modify DN operation for entry [...]  cannot be performed because the change would have violated the server schema: Entry [...] violates the Directory Server schema configuration because it is missing attribute cn which is required by objectclass person

我理解(好吧,那种)这个错误告诉我的内容,但是我无法找到解决问题的方法......

由于

1 个答案:

答案 0 :(得分:3)

您必须使用ModDN重命名条目。但是为了使条目符合模式(当您更改命名属性时),您必须保留以前的值。 以下更改将起作用:

ldapmodify -D cn=directory\ manager -w password -h localhost -p 1389

dn: cn=Super,ou=Prod,ou=clients,dc=test,dc=com
changetype: moddn
newrdn: uid=SuperUID
deleteoldrdn: false

您可以稍后使用修改操作修改cn属性以更改其值。