B.4. LDIF を使用したディレクトリーエントリーの指定

多くのエントリーはディレクトリーに保存できます。本セクションでは、ディレクトリーで使用する最も一般的なエントリーの 3 つ (ドメイン、組織単位、および組織の人のエントリー) を 3 つにまとめる方法を説明します。
エントリーに定義されているオブジェクトクラスは、エントリーがドメインまたはドメインコンポーネント、組織単位、組織人、またはその他のタイプのエントリーを表しているかどうかを示すものです。デフォルトでディレクトリーで使用できるオブジェクトクラスの完全一覧と、よく使用される属性の一覧については、Red Hat Directory Server 11 の設定、コマンド、およびファイルリファレンス を参照してください。

B.4.1. ドメインエントリーの指定

ディレクトリーにはドメインエントリーが 1 つ以上含まれます。通常、これはディレクトリーの最初の、つまり一番上のエントリーです。ドメインエントリーは、多くの場合、ディレクトリーの DNS ホストおよびドメイン名に対応します。たとえば、Directory Server ホストが ldap.example.com と呼ばれている場合は、ディレクトリーのドメインエントリーは dc=ldap,dc=example,dc=com または単に dc=example,dc=com という名前になります。
ドメインの定義に使用される LDIF エントリーは以下のようになります。
dn: distinguished_name 
objectClass: top
objectClass: domain
dc: domain_component_name
 list_of_optional_attributes 
...
以下は、LDIF 形式のドメインエントリーの例です。
dn: dc=example,dc=com
objectclass: top
objectclass: domain
dc: example
description: Fictional example company
LDIF フォーマットのドメインエントリーの各要素が 表B.2「ドメインエントリーの LDIF 要素」に定義されています。

表B.2 ドメインエントリーの LDIF 要素

LDIF 要素 説明
dn: distinguished_name 必須。エントリーの識別名を指定します。
objectClass: top 必須。top オブジェクトクラスを指定します。
objectClass: domain domain オブジェクトクラスを指定します。この行は、エントリーをドメインまたはドメインコンポーネントとして定義します。このオブジェクトクラスで利用可能な属性の一覧は、Red Hat Directory Server 11 Configuration, Command, and File Reference を参照してください。-->
dc: domain_component ドメイン名を指定する属性。サーバーは通常、dc=hostname,dc=domain,dc=toplevel の形式で接尾辞または命名コンテキストを持つように初期設定時に設定されます。たとえば、dc=ldap,dc=example,dc=com です。ドメインエントリーは、dc: ldap のように左端の dc の値を使用する必要があります。接尾辞が dc=example,dc=com の場合、dc の値は dc: example になります。サーバーが接尾辞を使用するよう設定されていない場合は、dn: dc=com のエントリーを作成しないでください。
list_of_attributes エントリーに保持する任意の属性のリストを指定します。このオブジェクトクラスで利用可能な属性の一覧は、Red Hat Directory Server 11 Configuration, Command, and File Reference を参照してください。

B.4.2. 組織単位エントリーの指定

組織ユニットエントリーは、ディレクトリーツリー内のメジャーブランチポイントまたはサブディレクトリーを表すために使用されます。これらのサブツリーは、企業内の主要な、適度に静的なエンティティーに対応しています。例えば、ユーザーを含むサブツリーや、グループを含むサブツリーなどです。
エントリーに含まれる組織単位属性は、マーケティングやエンジニアリングなど、企業内の主要な組織を表す場合もあります。ただし、このスタイルは推奨されません。Red Hat はフラットなディレクトリーツリーの使用を強く推奨しています。
通常は、ディレクトリーツリー内に、複数の組織単位またはブランチがあります。
組織単位エントリーを定義する LDIF は、以下のように表示される必要があります。
dn: distinguished_name 
objectClass: top
objectClass: organizationalUnit
ou: organizational_unit_name
 list_of_optional_attributes 
...
以下は、LDIF 形式の組織単位エントリーの例です。
dn: ou=people,dc=example,dc=com
objectclass: top
objectclass: organizationalUnit
ou: people
description: Fictional example organizational unit
表B.3「組織単位エントリーの LDIF 要素」 は、LDIF 形式の組織単位エントリーの各要素を定義します。

表B.3 組織単位エントリーの LDIF 要素

LDIF 要素 説明
dn: distinguished_name エントリーの識別名を指定します。DN が必要です。DN にコンマがある場合、コンマはバックスラッシュ (\) でエスケープする必要があります (例: dn: ou=people,dc=example,dc=com)。
objectClass: top 必須。top オブジェクトクラスを指定します。
objectClass: organizationalUnit organizationalUnit オブジェクトクラスを指定します。この行は、エントリーを organizational unit として定義します。このオブジェクトクラスで利用可能な属性の一覧は、Red Hat Directory Server 11 Configuration, Command, and File Reference を参照してください。
ou: organizational_unit_name 組織単位の名前を指定する属性。
list_of_attributes エントリーに保持する任意の属性のリストを指定します。このオブジェクトクラスで利用可能な属性の一覧は、Red Hat Directory Server 11 Configuration, Command, and File Reference を参照してください。

B.4.3. 組織の個人エントリーの指定

ディレクトリー内のエントリーの大半は、組織の人を表します。
LDIF では、組織担当者の定義は以下のようになります。
dn: distinguished_name 
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: common_name 
sn: surname
 list_of_optional_attributes
以下は、LDIF 形式の組織単位エントリーの例です。
dn: uid=bjensen,ou=people,dc=example,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Babs Jensen
sn: Jensen
givenname: Babs
uid: bjensen
ou: people
description: Fictional example person
telephoneNumber: 555-5557
userPassword: {SSHA}dkfljlk34r2kljdsfk9
表B.4「Person エントリーの LDIF 要素」 は、LDIF 担当者エントリーの各要素を定義します。

表B.4 Person エントリーの LDIF 要素

LDIF 要素 説明
dn: distinguished_name 必須。エントリーの識別名を指定します。たとえば、dn: uid=bjensen,ou=people,dc=example,dc=com です。DN にコンマがある場合は、コンマをバックスラッシュ (\) でエスケープする必要があります。
objectClass: top 必須。top オブジェクトクラスを指定します。
objectClass: person person オブジェクトクラスを指定します。多くの LDAP クライアントは、ユーザーや組織のユーザーの検索操作時にこれを必要とするため、このオブジェクトクラス仕様を含める必要があります。
objectClass: organizationalPerson organizationalPerson オブジェクトクラスを指定します。一部の LDAP クライアントは、組織ユーザーの検索操作時に必要であるため、このオブジェクトクラス仕様を含める必要があります。
objectClass: inetOrgPerson inetOrgPerson オブジェクトクラスを指定します。このオブジェクトクラスには属性の範囲が広がるため、このオブジェクトクラスには組織の人エントリーの作成には、inetOrgPerson オブジェクトクラスが推奨されます。uid 属性はこのオブジェクトクラスで必要で、このオブジェクトクラスが含まれるエントリーは uid 属性の値に基づいて名前が付けられます。このオブジェクトクラスで利用可能な属性の一覧は、Red Hat Directory Server 11 Configuration, Command, and File Reference を参照してください。
cn: common_name 担当者の一般的な名前を指定します。これは、担当者が一般的に使用するフルネームです。たとえば、cn: Bill Anderson です。少なくとも 1 つの共通名が必要です。
sn: ユーザーの姓を指定します。たとえば、sn: Anderson です。姓が必要です。
list_of_attributes エントリーに保持する任意の属性のリストを指定します。このオブジェクトクラスで利用可能な属性の一覧は、Red Hat Directory Server 11 Configuration, Command, and File Reference を参照してください。