4.2.4. エントリーおよびサブツリーの名前変更


「エントリーの命名」では、Red Hat Directory Server でエントリーの命名が重要であることについて説明します。エントリー名は、ある意味ディレクトリーツリーの構造を定義します。各分岐点 (その下にエントリーがあるエントリー) は、階層に新しいリンクを作成します。

例4.1 エントリー DN のビルド

                                                                  dc=example,dc=com  =>  root suffix
                                                        ou=People,dc=example,dc=com  =>  org unit
                                          st=California,ou=People,dc=example,dc=com  =>  state/province
                          l=Mountain View,st=California,ou=People,dc=example,dc=com  =>  city
           ou=Engineering,l=Mountain View,st=California,ou=People,dc=example,dc=com  =>  org unit
uid=jsmith,ou=Engineering,l=Mountain View,st=California,ou=People,dc=example,dc=com  =>  leaf entry
Copy to Clipboard Toggle word wrap
エントリーの命名属性 (DN の左端にある要素) が変更されると、これは modrdn 操作 になります。ディレクトリーツリー内のエントリーを移動するため、ある意味特別な変更操作です。リーフエントリー (子を持たないエントリー) の場合、modrdn 操作は横方向の移動です。エントリーは同じ親を持ち、名前が新しいだけです。

図4.10 リーフエントリーに対する modrdn 操作

サブツリーエントリーの場合、modrdn 操作はサブツリーエントリー自体の名前を変更するだけでなく、サブツリーの 下にある すべての子エントリーの DN コンポーネントも変更します。

図4.11 サブツリーエントリーに対する modrdn 操作

重要
サブツリーの modrdn 操作も、サブツリーエントリーの下にあるすべての子エントリーを移動し、名前を変更します。サブツリーが大きい場合、これは時間とリソースを必要とするプロセスになります。ディレクトリーツリー階層の命名構造を計画し、サブツリーの名前変更操作が頻繁に要求されないようにします。
サブツリーの名前を変更する同様のアクションは、エントリーをあるサブツリーから別のサブツリーに移動することです。これは modrdn 操作の拡張タイプのもので、同時にエントリーの名前を変更し (同じ名前の場合でも)、ある親から別の親にエントリーを移動する newsuperior 属性を設定します。

図4.12 新しい親エントリーに対する modrdn 操作

エントリーが entryrdn.db インデックスに格納される方法により、新規の親およびサブツリー両方の名前を変更する操作が可能です。各エントリーは、独自のキー (自己リンク) で、続いてその親 (親リンク) と子を特定するサブキーで識別されます。これには、親と子をエントリーに対する属性として処理することでディレクトリーツリー階層を配置する形式があり、すべてのエントリーが完全な DN ではなく一意の ID とその RDN によって記述されます。
numeric_id:RDN => self link  
     ID: #; RDN: "rdn"; NRDN: normalized_rdn
P#:RDN => parent link
     ID: #; RDN: "rdn"; NRDN: normalized_rdn
C#:RDN => child link
     ID: #; RDN: "rdn"; NRDN: normalized_rdn
Copy to Clipboard Toggle word wrap
たとえば、ou=people サブツリーは、親の dc=example,dc=com と子の uid=jsmith を持ちます。
4:ou=people
   ID: 4; RDN: "ou=People"; NRDN: "ou=people"
P4:ou=people
   ID: 1; RDN: "dc=example,dc=com"; NRDN: "dc=example,dc=com"
C4:ou=people
   ID: 10; RDN: "uid=jsmith"; NRDN: "uid=jsmith"
Copy to Clipboard Toggle word wrap
名前変更操作を実行する際に留意すべき事項があります。
  • root 接尾辞の名前を変更することはできません。
  • サブツリー名前変更操作によるレプリケーションへの影響は最小限に抑えられます。レプリカ合意は、データベースのサブツリーではなく、データベース全体に適用されます。したがって、サブツリーの名前変更操作ではレプリカ合意の再設定は必要ありません。サブツリーの名前変更操作後のすべての名前の変更は、通常どおり複製されます。
  • サブツリーの名前を変更し、同期合意を再設定する必要がある 場合があります。同期合意は、接尾辞またはサブツリーレベルで設定されるため、サブツリーの名前を変更すると、同期が破損してしまう可能性があります。
  • サブツリーの名前を変更するには、サブツリーに設定されたサブツリーレベルの ACI を手動で再設定し、サブツリーの子エントリーに設定されたエントリーレベルの ACI (エントリーレベルの ACI) を手動で再設定する 必要があります
  • 子を持つサブツリーの名前を変更できますが、子を持つサブツリーを削除できません。
  • ou から dc への移行など、サブツリーのコンポーネントを変更しようとすると、スキーマ違反で失敗する可能性があります。たとえば、organizationalUnit オブジェクトクラスには ou 属性が必要です。サブツリーの名前変更の一部としてその属性を削除すると、操作は失敗します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat