検索

第4章 属性の一意性の有効化

download PDF

ディレクトリーまたはサブツリー全体で属性の値が一意になるように、デフォルトで無効になっている Attribute Uniqueness プラグインを使用できます。

次のいずれかの方法で、属性の一意性を検証するようにプラグインを設定できます。

  • 以下の例のように、uniqueness-subtrees パラメーターを使用して、プラグインが属性の一意性をチェックする必要があるサブツリーの一覧を設定します。

    uniqueness-attribute-name: mail
    uniqueness-subtrees: ou=accounting,dc=example,dc=com
    uniqueness-subtrees: ou=sales,dc=example,dc=com
    uniqueness-across-all-subtrees: on
    uniqueness-exclude-subtrees: ou=private,ou=people,dc=example,dc=com

    詳細は、Configuring the Attribute Uniqueness plug-in over subtrees を参照してください。

  • uniqueness-top-entry-oc パラメーターを使用して、親エントリーオブジェクトクラスを設定します。更新されたエントリーの親エントリーにこのオブジェクトクラスが含まれる場合、プラグインは親エントリーサブツリーの下の属性の一意性をチェックします。たとえば、次のようにプラグインを設定できます。

    uniqueness-attribute-name: mail
    uniqueness-top-entry-oc: nsContainer
    uniqueness-subtree-entries-oc: inetOrgPerson
    uniqueness-exclude-subtrees: ou=private,ou=people,dc=example,dc=com

    詳細は、オブジェクトクラスを介した Attribute Uniqueness プラグインの設定 を 参照してください。

プラグインの複数の設定エントリーを作成して、異なる条件を適用できます。Directory Server は、cn=plugins,cn=config の下にプラグインのすべての設定エントリーを保存します。

4.1. コマンドラインを使用したサブツリーでの Attribute Uniqueness プラグインの設定

dsconf ユーティリティーを使用して、プラグインが属性の一意性をチェックする必要があるサブツリーのリストを設定できます。サブツリーには、接尾辞を含むディレクトリー内の任意のエントリーを指定できます。

以下の手順例を使用して、ou=sales,dc=example,dc=com および ou=accounting,dc=example,dc=com サブツリーの下にあるエントリーで mail 属性を一意であることを確認するプラグインを設定します。

前提条件

  • Directory Manager のパーミッションがある。

手順

  1. 新しいプラグイン設定エントリーを作成します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq add "Mail Uniqueness" --attr-name mail --subtree ou=sales,dc=example,dc=com ou=accounting,dc=example,dc=com

    このコマンドは、cn=Mail Uniqueness,cn=plugins,cn=config 設定エントリーを作成します。

    注記

    1 つの設定エントリーで複数の属性の一意性を検証するようにプラグインを設定できます。

  2. オプション:このプラグイン設定エントリーに設定されたすべてのサブツリーで一意性を設定します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq set "Mail Uniqueness" --across-all-subtrees on

    このコマンドは、uniqueness-across-all-subtrees プラグイン設定パラメーターを で設定 ます。したがって、プラグインは ou=sales,dc=example,dc=com および ou=accounting,dc=example,dc=com サブツリーの両方で mail 属性を一意性をチェックします。デフォルトでは、プラグインはエントリーが作成または更新されるサブツリー全体で一意性のみをチェックします。つまり、ou=sales,dc=example,dc=com でエントリーを作成または更新すると、プラグインはこのサブツリー全体で mail 属性を一意性をチェックします。

  3. オプション:プラグインが属性の一意性検証から除外する必要のあるサブツリーを設定します。

    たとえば、プラグインが ou=internal,ou=sales,dc=example,dc=com サブツリーを省略するには、ldapmodify ユーティリティーを使用して uniqueness-exclude-subtrees パラメーターを設定できます。

    # ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x
    
    dn: cn=Mail Uniqueness,cn=plugins,cn=config
    changetype: modify
    add: uniqueness-exclude-subtrees
    uniqueness-exclude-subtrees: ou=internal,ou=sales,dc=example,dc=com
  4. オプション:特定のオブジェクトクラスを含むエントリーでのみ一意性を検証するプラグインがある場合は、このオブジェクトクラスを uniqueness-subtree-entries-oc パラメーターの値として設定します。

    たとえば、inetOrgPerson オブジェクトクラスが含まれるエントリーでのみ mail 属性を一意にするには、次のように入力します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq set "Mail Uniqueness" --subtree-entries-oc=inetOrgPerson
  5. サーバーでプラグインを有効にします。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq enable "Mail Uniqueness"
  6. インスタンスを再起動します。

    # dsctl instance_name restart

検証

  • 設定エントリーの詳細を表示します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq show "Mail Uniqueness"
    
    dn: cn=Mail Uniqueness,cn=plugins,cn=config
    cn: Mail Uniqueness
    nsslapd-plugin-depends-on-type: database
    nsslapd-pluginDescription: Enforce unique attribute values
    nsslapd-pluginEnabled: on
    ...
    uniqueness-across-all-subtrees: on
    uniqueness-attribute-name: mail
    uniqueness-exclude-subtrees: ou=internal,ou=sales,dc=example,dc=com
    uniqueness-subtree-entries-oc: inetOrgPerson
    uniqueness-subtrees: ou=accounting,dc=example,dc=com
    uniqueness-subtrees: ou=sales,dc=example,dc=com

関連情報

  • Attribute Uniqueness プラグインの属性
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.