Обновление DN пользователя с использованием CN на использование UID

Я ищу способ обновить DN записи пользователя из этого:

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

К этому :

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

Учитывая, что в моем каталоге несколько ou, и некоторые из них уже используют атрибут UID в своем DN, поэтому мне нужно обновить только этот 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

Я понимаю (ну, вроде), о чем мне говорит эта ошибка, но я не могу найти способ обойти это, чтобы решить мою проблему...

Спасибо


person Pier    schedule 18.12.2016    source источник


Ответы (1)


Вы должны использовать 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, чтобы изменить его значение, используя операцию Modify.

person Ludovic Poitou    schedule 19.12.2016