9.2. コマンドラインを使用した Referential Integrity プラグインの設定
コマンドラインを使用して Referential Integrity プラグインを設定できます。
この手順は、レプリケーショントポロジー内のすべてのサプライヤーで実行してください。
手順
Referential Integrity プラグインを有効にします。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity enable
プラグインがユーザーエントリーの削除または名前変更操作を検索するサブツリーを設定します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --entry-scope "ou=People,dc=example,dc=com"
オプション: エントリースコープでサブツリーを除外します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --exclude-entry-scope "ou=Special Users,ou=People,dc=example,dc=com"
このコマンドは、
ou=Special Users,ou=People,dc=example,dc=com
サブツリーで実行される削除または名前変更操作を無視するようにプラグインを設定します。プラグインがグループエントリーを更新するサブツリーを設定します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --container-scope "ou=Groups,dc=example,dc=com"
デフォルトでは、プラグインは
member
、uniqueMember
、owner
、およびseeAlso
属性の整合性更新を実行します。他の属性を指定するには、次のように入力します。#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --membership-attr attribute_1 attribute_2
このコマンドは、プラグインの設定内の属性のリストをオーバーライドすることに注意してください。属性を追加する場合は、現在の属性リストと追加の属性リストを
--membership-attr
オプションに渡します。オプション: デフォルトでは、Directory Server は参照整合性チェックを即座に実行します。遅延を設定する場合は、次のように入力します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity set --update-delay=5
このコマンドは、参照整合性チェックを
5
秒遅延させます。複数のサプライヤーで Referential Integrity を有効にした場合、遅延を設定するとレプリケーションループやディレクトリーの不整合が発生する可能性があることに注意してください。このような問題を回避するには、トポロジー内の 1 つのサプライヤーでのみプラグインを有効にします。インスタンスを再起動します。
#
dsctl instance_name restart
検証
Referential Integrity プラグインの設定を表示します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin referential-integrity show
... nsslapd-plugincontainerscope: ou=Groups,dc=example,dc=com nsslapd-pluginentryscope: ou=People,dc=example,dc=com ... referint-membership-attr: member referint-membership-attr: uniquemember referint-membership-attr: owner referint-membership-attr: seeAlso referint-update-delay: 0 ...グループの
member
属性を表示して、グループのメンバーをリストします。#
ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=Groups,dc=example,dc=com" member
... member: uid=demoUser,ou=People,dc=example,dc=comuid=demoUser,ou=People,dc=example,dc=com
ユーザーを削除します。#
dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user delete "uid=demoUser,ou=People,dc=example,dc=com"
グループのメンバーを再度表示します。
#
ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "cn=demoGroup,ou=People,dc=example,dc=com" member
uid=demoUser,ou=People,dc=example,dc=com が
グループのメンバーとしてリストされなければ、Referential Integrity プラグインは機能しています。