3.2. スキーマファイルの要件
スキーマファイルは、cn=schema
エントリーを定義する LDIF 形式を使用します。各属性タイプとオブジェクトクラスがこのエントリーに追加されます。
スキーマファイルの要件は次のとおりです。
ファイルは次のエントリーで始まる必要があります。
dn: cn=schema
- スキーマファイルには、属性タイプまたはオブジェクトクラス、あるいはその両方を含めることができます。
- オブジェクトクラス定義は、他のスキーマファイルで定義された属性を使用できます。
カスタムスキーマファイルを使用するインスタンスに応じて、次のいずれかの場所に保存します。
-
/etc/dirsrv/slapd-instance_name/schema/
は、この特定のインスタンスでスキーマファイルを使用できるようにします。 -
/usr/share/dirsrv/schema/
は、このホストで実行しているすべてのインスタンスでスキーマファイルを使用できるようにします。
-
デフォルトでは、Directory Server は
99user.ldif
ファイルのカスタムスキーマを想定しています。別のファイル名を使用する場合は、以下のようにします。-
名前はアルファベット順に
99user.ldif
より小さくする必要があります。たとえば、99aaa.ldif
は使用できますが、99zzz.ldif
は使用できません。 カスタムスキーマファイルは、
00
から98
までのコアスキーマファイルの後にロードする必要があるため、名前は 2 桁で始まり、01
より大きくなければなりません。Directory Server は、スキーマファイルをアルファベット順に読み取ります。したがって、たとえば、定義
99user.ldif
を保存すると、名前が00
と01
で始まる標準ファイルの定義がオーバーライドされます。
-
名前はアルファベット順に
-
/usr/share/dirsrv/data/
ディレクトリーの標準スキーマファイルを使用する場合は、ファイルを使用するインスタンスに応じて、ファイルを/etc/dirsrv/slapd-instance_name/schema/
または/usr/share/dirsrv/schema/
にコピーします。ただし、宛先ディレクトリーで別のファイル名を使用してください。それ以外の場合は、Directory Server はアップグレード中にファイルの名前を変更し、.bak
接尾辞を追加します。
例3.1 カスタムスキーマファイルの例
dn: cn=schema objectClasses: ( 2.16.840.1.1133730.2.1.123 NAME 'exampleperson' DESC 'An example person object class' SUP top STRUCTURAL MUST dateOfBirth X-ORIGIN 'user defined' ) attributeTypes: ( 2.16.840.1.1133730.2.1.99 NAME 'dateOfBirth' DESC 'For employee birthday' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' )