8.3.2. 管理対象エントリーテンプレートエントリーの作成
最初に作成するエントリーはテンプレートエントリーです。テンプレートエントリーには、生成される管理エントリーに必要なすべての設定を含める必要があります。これは、テンプレート内の静的およびマップされた属性に属性値表明を設定して行います。
mepStaticAttr: attribute: specific_value mepMappedAttr: attribute: $token_value
静的属性は明示的な値を設定し、マップされた属性は、元のエントリーから一部の値をプルし、指定の属性を提供するためにそれを使用します。これらの属性の値は、attribute: $attr のトークンになります。属性の拡張トークンの構文が必要な属性構文に違反しない限り、他の用語や文字列を属性で使用できます。以下に例を示します。
mepMappedAttr: cn: Managed Group for $cn
管理エントリーについて、その後に設定する必要がある構文ルールがいくつかあります。
- マップされた値は、トークン (動的な値) と静的な値の組み合わせを使用しますが、マップされた属性ごとに 1 つのトークン しか使用できません。
- テンプレートのマップされた属性は、先頭にドル記号 ($) を追加して作成元のエントリーから値をプルして管理エントリーで使用するトークンを使用します。ドル記号が管理属性値で実際に定義されている場合は、ドル記号を 2 つ使用してドル記号をエスケープできます。
- マッピングされた属性の定義は、Attr: ${cn}test など、中括弧で囲んで引用することができます。トークン名の直後にスペースやコンマなど属性名として有効な文字が使用される場合は、トークンの値を引用符で囲む必要はありません。たとえば、$cn test は属性名の直後に続くため、属性定義では使用できますが、管理エントリープラグインは作成元のエントリーで cntest という名前の属性を検索しようとするため、$cntest は有効ではありません。中括弧を使用すると、属性トークン名を識別します。
- 静的属性およびマップされた属性に値が必要な属性の構文に準拠するようにしてください。
注記
静的属性およびマップされた属性に値が必要な属性の構文に準拠するようにしてください。たとえば、マップされた属性のいずれかが
gidNumber
の場合、マップされた値は整数にする必要があります。
属性 | 説明 |
---|---|
mepTemplateEntry (オブジェクトクラス) | テンプレートとしてエントリーを識別します。 |
cn | エントリーの共通名を指定します。 |
mepMappedAttr | プラグインは、元のエントリーから取得した値で管理エントリーの属性を作成するために使用する属性とトークンのペアが含まれます。 |
mepRDNAttr | 管理エントリーで naming 属性として使用する属性を指定します。RDN として使用される属性は、設定のためにマップされた属性である 必要があります。 |
mepStaticAttr | 管理エントリーに指定された値とともに使用される属性と値のペアが含まれます。 |
テンプレートエントリーを作成するには、以下を実行します。
- ldapmodify を実行してエントリーを追加します。このエントリーは、ディレクトリーツリーの任意の場所に置くことができます。
dn: cn=Posix User Template,ou=templates,dc=example,dc=com cn: Posix User Template ...
「ディレクトリーエントリーの作成」 で説明されているように、Directory Server コンソールを使用して、エントリーを作成することもできます。 - mepTemplateEntry オブジェクトクラスに、これがテンプレートエントリーであることを示します。
objectClass: top objectclass: mepTemplateEntry ...
- エントリーの属性を設定します。これらは、表8.5「管理エントリーテンプレートの属性」 で説明されています。RDN 属性(
mepRDNAttr
)が必要です。属性パラメーターは任意で、値はプラグインが作成するエントリーのタイプによって異なります。naming 属性に使用する属性がマップされた属性としてテンプレートエントリーに含まれていることを確認してください。注記エントリーのオブジェクトクラスと同様に、各管理エントリーに対して同じ属性。値を手動で設定する必要があります。mepStaticAttr
mepRDNAttr: cn mepStaticAttr: objectclass: posixGroup mepMappedAttr: cn: $cn Group Entry mepMappedAttr: gidNumber: $gidNumber mepMappedAttr: memberUid: $uid