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 (OID 1.3.6.1.4.1.1466.115.121.1.15) を持つ dateOfBirth という名前の単一値属性
  • exampleperson という名前のオブジェクトクラス (親オブジェクトクラス (SUP top) がなく、dateOfBirth 属性が含まれる必要あり)

手順

  1. /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' )
  2. スキーマの再読み込みタスクを実行します。

    # 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 は失敗した手順とその理由をログに記録します。