RFC ドラフト rfc2307bis は、groupOfMembers オブジェクトクラスをグループサービスの LDAP エントリのための便利な構造クラスとしても使用できると規定しています。これにより、グループエントリの識別名 (DN) に、グループメンバーシップを指定するメンバー属性値を含めることができます。Oracle Solaris の LDAP クライアントはこのようなグループエントリをサポートしており、グループメンバーシップの解決のためにメンバー属性値を使用します。
これらの LDAP クライアントはまた、groupOfUniqueNames オブジェクトクラスと uniqueMember 属性を使用するグループエントリもサポートしています。ただし、このオブジェクトクラスと属性の使用はお勧めできません。
posixGroup オブジェクトクラスと memberUid 属性を持つグループエントリを定義する既存の方法も引き続きサポートされています。このタイプのグループエントリは引き続き、グループサービスのために LDAP サーバーにデータを生成するときに ldapaddent コマンドによって作成されるエントリです。グループエントリに 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 プラグインは ODSEE サーバーによって有効になります。このプラグインが有効になっていない場合は、ODSEE の dsconf ツールを使用して有効にします。