UID 一意性検査プラグインを使用すると、すべての属性の一意性を適用できます。ディレクトリの cn=plugins,cn=config の下に新しいエントリを作成することによって、プラグインの新しいインスタンスを作成する必要があります。
DSCC を使用してこのタスクを実行することはできません。次の手順に示すように、コマンド行を使用します。
新しいプラグインを作成します。
$ dsconf create-plugin -h host -p port -H lib-path -F init-func \ -Y type plugin-name |
plugin-name は、属性名を含む短い説明的な名前にしてください。たとえば、メール ID 属性の一意性のためにプラグインを作成するには、次のコマンドを使用します。
$ dsconf create-plugin -h host1 -p 1389 -H /opt/SUNWdsee/ds6/lib/uid-plugin.so \ -F NSUniqueAttr_Init -Y preoperation "mail uniqueness" |
プラグインのプロパティーを設定します。
$ dsconf set-plugin-prop -h host -p port plugin-name property:value |
たとえば、メールの一意性検査プラグインのプロパティーを設定するには、次のように入力します。
$ dsconf set-plugin-prop -h host1 -p 1389 "mail uniqueness" \ desc:"Enforce unique attribute values..." version:6.0 \ vendor:"Sun Microsystems, Inc." depends-on-type:database |
プラグインを有効にします。
$ dsconf enable-plugin -h host -p port plugin-name |
プラグインの引数を指定します。
これらの引数は、一意性が適用されるサブツリーの決定方法によって異なります。
ベース DN に従って 1 つまたは複数のサブツリーを定義するには、最初の引数は一意の値を持つ属性の名前である必要があります。その後の引数は、サブツリーのベースエントリの完全な DN です。
$ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute-name \ argument:subtreeBaseDN argument:subtreeBaseDN... |
既存の引数リストに引数を追加するには、次のコマンドを使用します。
$ dsconf set-plugin-prop -h host -p port plugin-name argument+:argument-value |
ベースエントリのオブジェクトクラスに基づいてサブツリーを定義するには、1 番目の引数に attribute= attribute-name を追加して、一意の値を持つ属性の名前を指定する必要があります。2 番目の引数には、一意性を適用するサブツリーのベースエントリを決める baseObjectClass を指定する必要があります。オプションとして、3 番目の引数に entryObjectClass を指定すると、このオブジェクトクラスを持つエントリをターゲットとする操作だけで、一意性を適用することもできます。
$ dsconf set-plugin-prop -h host -p port plugin-name argument:attribute=attribute-name \ argument:markerObjectClass=baseObjectClass argument:requiredObjectClass=entryObjectClass |
すべてのプラグインの引数で、 = 記号の前後に空白文字を入れることはできません。
変更内容を有効にするために、サーバーを再起動します。