net-ldap のrename
方法を使用して、ユーザーをある OU から別の OU に移動しています。ただし、「古い RDN を削除する必要があります」というエラーが表示されます。
#<OpenStruct code=53, error_message="00002035: Unwilling to perform. Old RDN must be deleted", matched_dn="", message="Unwilling to perform">
作成したメソッドは次のとおりです。
def self.move(user, group)
new_rdn = "CN=#{user.cn.first}"
new_superior = "OU=#{group},OU=People,DC=example,DC=com"
ldap_connection.rename(
olddn: user.dn,
newrdn: new_rdn,
delete_attributes: true,
new_superior: new_superior
)
end
RDN
(CN)だけを変更しようとすると、同じ応答が発生します。接続するサーバーは Samba4 サーバーです。追加、削除、更新などはすべて期待どおりに機能しています。名前の変更に問題があるだけです。