3.6. 属性およびオブジェクトクラスのカスタムスキーマファイルの手動での作成
カスタムスキーマを手動で作成する場合は、それを /etc/dirsrv/slapd-instance_name/schema/99user.ldif
ファイルに保存します。別のファイル名を使用することも可能ですが、他のファイルに格納されているスキーマ定義が複製され、レプリカの /etc/dirsrv/slapd-instance_name/schema/99user.ldif
に格納されるなどの欠点があります。Directory Server がレプリケーション環境でスキーマの更新を管理する方法 を参照してください。
この手順により、以下が追加されます。
-
OID
2.16.840.1.1133730.2.1.123
および構文Directory String
(OID1.3.6.1.4.1.1466.115.121.1.15
) を持つdateOfBirth
という名前の単一値属性 -
exampleperson
という名前のオブジェクトクラス (親オブジェクトクラス (SUP top
) がなく、dateOfBirth
属性が含まれる必要あり)
手順
/etc/dirsrv/slapd-instance_name/schema/99user.ldif
ファイルのdn: cn=schema
エントリーの下に次のコンテンツを追加します。attributeTypes: ( 2.16.840.1.1133730.2.1.123 NAME 'dateOfBirth' DESC 'For employee birthday' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' ) objectClasses: ( 2.16.840.1.1133730.2.1.99 NAME 'exampleperson' DESC 'An example person object class' SUP top STRUCTURAL MUST dateOfBirth X-ORIGIN 'user defined' )
スキーマの再読み込みタスクを実行します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com schema reload
検証手順:
/var/log/dirsrv/slapd-instance_name/errors
ファイルを監視します。ビルドが成功すると、Directory Server は次のログを記録します。
[23/Sep/2021:13:47:33.334241406 +0200] - INFO - schemareload - schemareload_thread - Schema reload task starts (schema dir: default) ... [23/Sep/2021:13:47:33.415692558 +0200] - INFO - schemareload - schemareload_thread - Schema validation passed. [23/Sep/2021:13:47:33.454768148 +0200] - INFO - schemareload - schemareload_thread - Schema reload task finished.
- ビルドが失敗した場合、Directory Server は失敗した手順とその理由をログに記録します。