「Front-end name」はサービス名を示します。この名前に続くすべての情報は、サービス固有の情報から LDAP のオブジェクトクラスと属性へのマッピングを記述するためのものです。
Front-end name の名前のすぐ後に続く最初の「Common」セクションは、その Front-end name またはサービスに適用される構成情報です。このセクションには、変換プロセスで必要な必須の構成変数と、便宜的に同じファイルに格納されている任意の構成変数が入っています。nis.mapping と radius.mapping ファイルの場合、このセクションは管理コンソールで変更できます。
「Table」セクションは、特定の種類の情報に対するマッピング情報を定義します。このテーブル定義を使って作成するすべてのエントリのオブジェクトクラスは、このマッピング情報で決まります。それぞれのテーブル定義は、次のセクションからなります。
Common
Dynamic (必須)
Export
Import
必須のセクションは「Dynamic」だけです。このセクションがないと、インポート操作もエクスポート操作もできません。他のセクションは必要なければ省略できます。たとえば、ディレクトリの情報をエクスポートしない場合は、「Export」セクションを作成する必要はありません。
各セクションには、インポートやエクスポート処理で使うキーワードと定義を指定します。表 5-1 は、一連のキーワード、それらを指定するセクション、およびそれらの目的を表しています。
どのセクションでも、変数または「トークン」(つまり、専用の定義) を次の書式で作成できます。
tokenT=token definition
専用定義には、「Condense」で説明する構文と機能を使用できます。
表 5-1 マッピングファイルキーワードの要約
セクション |
キーワード |
必須または省略可能 |
目的 |
---|---|---|---|
Common |
BASE_DN |
必須。ただし、「Dynamic」セクションに指定できる |
名前付きコンテキストを指定する。「BASE_DN 」を参照 |
MAP_NAME |
NIS テーブル定義には必須 |
テーブル定義に対応する NIS テーブル名を示す。「MAP_NAME 」を参照 |
|
PRIVATE_OBJECTCLASSES |
オブジェクトクラスが固有にならない場合は必須 |
いくつかのテーブル定義から作成されるエントリの更新に使用する。「PRIVATE_OBJECTCLASSES 」を参照 |
|
Dynamic |
ALL_FILTER |
必須 |
テーブル定義から作成されるすべてのエントリを指定するためのフィルタを定義する。「ALL_FILTER」を参照 |
DC_NAMING |
省略可能 |
ドメイン名を LDAP の dc 名前構造体に変換するための機構を定義する。「DC_NAMING」を参照 |
|
LINE |
必須 |
入力情報の分解を定義する。「LINE」を参照 |
|
MATCH_FILTER |
必須 |
テーブル定義から作成される特定のエントリを指定するためのフィルタを定義する。「MATCH_FILTER」を参照 |
|
Export/Build |
LINE |
「Export」セクションがある場合は必須 |
エクスポートファイルで、LDAP 属性からなる行の書式を定義する。「Export セクション」を参照 |
NIS_KEY |
NIS には必須 |
エクスポートファイルにある NIS キーを指定する |
|
NIS_VALUE |
NIS には必須 |
エクスポートファイルにある NIS 値を指定する |
|
Import/Extract |
LINE |
「Import」セクションがある場合は必須 |
入力情報の分解を定義する。「Import セクション」を参照 |
「Common」セクションには、テーブル定義を使って作成するすべてのエントリに適用するための変数の定義を指定します。この変数の定義は、サービスやフロントエンド全体には適用されません。たとえば、「Common」セクションには、通常、作成するエントリが入る名前付きコンテキストを指定します。名前付きコンテキストは、BASE_DN キーワードで指定します。
BASE_DN キーワードには、作成するエントリが入る名前付きコンテキストを指定します。dsimport ユーティリティは、このパラメータを次の順にいくつかの場所から探します。
dsimport コマンド行の -V オプション
「Dynamic」セクション
「Table」の「Common」セクション
「Front-End」の「Common」セクション (マッピングファイルの先頭)
MAP_NAME キーワードには、このテーブル定義に対応する NIS マップ名を指定します。このキーワードは、NIS サービス用の管理エントリを作成するために使用します。ディレクトリサーバーは、これらのエントリを自動的に保守します。
このキーワードは、総称マッピング定義を使って作成する NIS エントリの名前付きコンテキストを作成するときにも使用します。
MAP_NAME キーワードは NIS サービス固有のものです。
PRIVATE_OBJECTCLASSES キーワードには、テーブル定義から得られるオブジェクトクラスと属性では完全なエントリを作成できないときに、オブジェクトクラスを指定します。このキーワードは、いくつかのテーブル定義から作成されるディレクトリエントリを保守するために必要です。たとえば、いくつかのテーブル定義がそれぞれ補助オブジェクトクラスとそれに関連する属性を作成する場合などです。
たとえば、NIS 環境では、ネットワークホストが少なくとも 3 つのファイル (/etc/bootparams、/etc/ethers、/etc/hosts) にエントリを持っている場合があります。しかし、各ホストは LDAP ディレクトリに、3 つの補助オブジェクトクラス bootableDevice、ieee802Device、ipHost からなる 1 つのエントリしか持っていません。このホストのエントリを上記のいずれかのファイルから削除する場合は、LDAP ディレクトリの対応するエントリを削除するのではなく、該当する補助オブジェクトクラスとそのオブジェクトクラス固有の属性を削除する必要があります。
「Dynamic」セクションには、必要な情報を見つけるためのフィルタを動的に作成できる等号式を指定します。
LINE キーワードは、入力情報を動的にどのように分解するかを定義するときに必要です。分解の結果は、MATCH_FILTER 定義や ALL_FILTER 定義の要素として使用されます。
LINE キーワードの構文については、「Extract」を参照してください。
MATCH_FILTER キーワードには、dsimport ユーティリティが使用するフィルタを指定します。このユーティリティは、エントリを作成する前にそれがデータベースにすでにあるかどうかをこのフィルタを使って検査します。エントリがすでにある場合は、変更する必要かあるかどうかを検査します。
MATCH_FILTER キーワードは、ディレクトリサーバーが ypmatch などのコマンドに応答するときにも使用されます。
ALL_FILTER キーワードには、dsexport コマンドが使用するフィルタを指定します。このコマンドは、このフィルタを使ってディレクトリエントリから元のファイルを再生成します。ディレクトリの情報をエクスポートしてその情報のソースファイルを再生成しない場合でも、このフィルタは必要です。
ALL_FILTER キーワードは、ディレクトリサーバーが、ある NIS テーブルに属するすべてのエントリをディレクトリから取り出すときにも使用されます。これは、ディレクトリサーバーが最新の NIS テーブルのコピーを常に保守しているからです。
さらに、ALL_FILTER キーワードは、ディレクトリサーバーが ypcat などのコマンドに応答するときにも使用されます。
DC_NAMING キーワードは、xyz.com 書式のドメイン名を LDAP のデータ格納接尾辞や dc=xyz, dc=com 書式の名前付きコンテキストに変換するときに使用する機構を定義します。このキーワードは、ディレクトリで使用しているネーミング構造がドメイン構成要素 (dc) 構造になっている場合に便利です。
「Export」セクションには、LDAP ディレクトリエントリからソースファイルを再生成する方法を定義します。このセクションは省略可能ですが、指定する場合は LINE キーワードが必要です。「Export」セクションの LINE キーワードは、元のソースファイルの行書式を表していなければなりません。
「Export」セクションには、次のサブセクションがあります。
Condense: このオプションのサブセクションには、「Build」サブセクションで使用する変数定義を指定します。「Build」サブセクションは、この変数定義を使って、LINE を生成するためのパラメータを作成します。
Build: 少なくとも出力 LINE 定義を指定する必要があります。
nis.mapping ファイルには、「Build」サブセクションで NIS キーと NIS 値のペアを作成するための規則を定義します。さらに、このサブセクションには、LDAP ディレクトリのエントリに対応する NIS ファイルの行を生成するための規則を定義します。
「Import」セクションには、入力ファイルの行を LDAP ディレクトリのエントリに変換する方法を定義します。このセクションには必ず LINE キーワードが必要です。このキーワードでは、入力ファイルの行をどのように分解すれば、LDAP 属性で記述できる要素になるかを定義します。さらに、このセクションには、入力ファイルの行から作成する LDAP 属性のリストも指定する必要があります。
「Import」セクションには、次のサブセクションがあります。
Extract: 「Extract」に説明する表記法に基づく LINE 定義を指定します。
Condense: 「Build」サブセクションで使用する変数定義を指定します。「Build」サブセクションでは、この変数定義を使って LDAP の属性と属性値を生成します。
Build: オブジェクトクラスを含む LDAP 属性のリストを指定します。次に、各 LDAP 属性の値を「Condense」サブセクションの変数か「Extract」サブセクションのパラメータから作成するための規則を定義します。
nis.mapping ファイルには、「Extract」サブセクションの LINE 定義で、NIS ソースファイルの行を分析して NIS トークンと呼ぶ小さな情報単位に分解するための規則を定義します。