この手順では、DN 変更操作を使用します。この操作を始める前に、「DN の変更操作に関するガイドラインと制限」の節に記載されている内容を十分に理解してください。
この手順のいくつかの部分では、DSCC を使用してこのタスクを実行できます。詳細については、「Directory Service Control Center のインタフェース」 および DSCC オンラインヘルプを参照してください。手順のその他の部分については、コマンド行を使用した場合にのみ実効できます。
グループの uniquemember であるエントリのDNを変更するときは、参照の完全性プラグインを有効にしておいてください。参照の完全性により、エントリが移動されたときにグループメンバーが調整されます。参照の完全性を有効にし、設定する方法の詳細は、「参照の完全性プラグインを設定する」を参照してください。
エントリをある親から別の親に移動する場合は、親エントリの ACI 権限を拡張します。
移動するエントリの現在の親エントリでは、ACI で export 操作が許可されていることを、allow (export ...) 構文を使用して確認します。
エントリの移動先の親エントリでは、ACI で import 操作が許可されていることを、allow (import ...) 構文を使用して確認します。
ACI の使い方については、第 7 章「Directory Server のアクセス制御」を参照してください。
DN 変更操作がグローバルに有効か、少なくとも移動操作で影響を受けるサフィックスに対して有効であることを確認します。
Directory Server の以前のリリースとの互換性を保つため、デフォルトでは DN 変更操作は有効ではありません。
すでに DN 変更操作があらかじめ有効になっている場合は、次の手順に進みます。
DN 変更操作をサーバーに対してグローバルに有効にするには、次のコマンドを使用します。
$ dsconf set-server-prop -h host -p port moddn-enabled:on |
ldapmodify コマンドを実行します。
この手順では、DN 変更操作を使用します。次のいずれかの操作を行います。
エントリを移動します。
たとえば、次のコマンドで、エントリ uid=bjensen がパート社員のサブツリーで ある ou=Contractors,dc=example,dc=com から、従業員のサブツリーである ou=People,dc=example,dc=com に移動します。
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=Contractors,dc=example,dc=com changetype: modrdn newrdn: uid=bjensen deleteoldrdn: 0 newsuperior: ou=People,dc=example,dc=com |
エントリの名前を変更します。
たとえば、次のコマンドで、エントリ uid=bbjensen の名前が uid=bjensen に変更されます。
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bbjensen,ou=People,dc=example,dc=com changetype: modrdn newrdn: uid=bjensen deleteoldrdn: 1 |
LDIF 文を作成する際は、次の属性に注意してください。
dn - 名前変更または移動するエントリを指定します。
changetype: modrdn - DN の変更操作の使用を指定します。
newrdn - 新しいネーミング属性を指定します。
deleteoldrdn: 以前のネーミング属性をエントリから削除するかどうかを指定します (1 であれば削除、0 であれば削除しない)。
ネーミング属性がエントリ定義で必須である場合、この属性はエントリから削除できないことに注意してください。
newsuperior: エントリの新しい上位属性を指定します。
ldapmodify コマンドとそのオプションの詳細は、ldapmodify(1) のマニュアルページを参照してください。
多数のエントリが含まれているサブツリーを移動したり名前変更したりするときに、リソース制限エラーが発生した場合は、データベースで使用できるロック数を増やします。
$ dsconf set-server-prop -h host -p port db-lock-count:value |
このプロパティーを変更する場合は、変更を有効にするためにサーバーを再起動する必要があります。