RFC ドラフト rfc2307bis は、groupOfMembers オブジェクトクラスをグループサービスの LDAP エントリのための便利な構造クラスとして使用できると規定しています。これにより、グループエントリの識別名 (DN) に、グループメンバーシップを指定するメンバー属性値を含めることができます。Oracle Solaris の LDAP クライアントはこのようなグループエントリをサポートしており、グループメンバーシップの解決のためにメンバー属性値を使用します。
これらの LDAP クライアントは、groupOfUniqueNames オブジェクトクラスと uniqueMember 属性を使用するグループエントリもサポートしますが、このオブジェクトクラスと属性は使用しないでください。
posixGroup オブジェクトクラスと memberUid 属性を使用して、LDAP クライアントサポートグループエントリを定義できます。ldapaddent コマンドは、グループサービスのために LDAP サーバーにデータを移入するときに、このタイプのグループエントリを作成します。グループエントリに member 属性は追加されません。
groupOfMembers オブジェクトクラスと member 属性値を持つグループエントリを追加するには、ldapadd ツールと、次の例のような入力ファイルを使用します。
dn: cn=group1,ou=group,dc=mkg,dc=example,dc=com objectClass: posixGroup objectClass: groupOfNames objectClass: top cn: group1 gidNumber: 1234 member: uid=user1,ou=people,dc=mkg,dc=example,dc=com member: uid=user2,ou=people,dc=mkg,dc=example,dc=com member: cn=group2,ou=group,dc=mkg,dc=example,dc=com
LDAP クライアントは、memberUid、member、および uniqueMember 属性のいずれかまたはすべてを含むグループエントリや、どの属性も含まないグループエントリを管理します。メンバーシップ評価の結果は、3 つすべてのメンバー属性の和集合から重複が削除されたグループになります。つまり、グループエントリ G がユーザー U1 と U2 を参照する memberUid 値、ユーザー U2 を参照する member 値、およびユーザー U3 を参照する uniqueMember 値を持っている場合、グループ G には U1、U2、および U3 の 3 つのメンバーが含まれます。メンバー属性は、ほかのグループを指し示す値を持つことができ、この結果、入れ子のグループになります。
グループメンバーシップを効率的に評価して、ユーザーがメンバーになっているグループ (入れ子のグループを含む) を確認するには、LDAP サーバー上で memberOf プラグインを構成し、有効にする必要があります。そうでない場合は、含んでいるグループ (入れ子のグループを除く) のみが解決されます。memberOf プラグインはデフォルトで、Oracle Directory Server Enterprise Edition サーバーで有効になっています。memberOf プラグインが有効になっていない場合は、Oracle Directory Server Enterprise Edition dsconf ツールを使用して有効にしてください。