OS X 10.9サーバーの「GoogleAppsUsers」グループ(略称:googleappsusers)に含まれるすべてのユーザーを検索するためのLDAPクエリを作成したいと思います。 Google Apps Directory Sync(GADS)で次のクエリを実行すると、実際にgoogleappsusersグループにユーザーがいるにもかかわらず、ゼロユーザーが返されます。
(&(objectCategory=users)(memberOf=cn=googleappsusers,cn=groups,dc=nyc1,dc=domain,dc=com))
Apple Open Directoryは、memberOfユーザー属性(OSX Server 10.7.5)を使用しません。
代わりに、memberUidグループ属性のみに依存して、特定のグループのメンバーであるユーザーを列挙します。したがって、ユーザーオブジェクトをクエリしてユーザーグループメンバーシップを決定することはできませんが、ユーザー固有のグループメンバーシップの完全なリストが必要な場合は、代わりにそのユーザーに対応するmemberUid属性のすべてのグループを列挙する必要があります。
もちろん、スキーマを変更してmemberOf属性を追加することもできますが、グループのmemberUid属性値とユーザーのmemberOf属性値の同期を維持するために必要な作業も行う必要があります。
これは、memberOfユーザー属性をサポートし、属性ペアの値の同期を維持するためのメカニズムを含むldap実装(Microsoft Active Directory、memberOfオーバーレイを使用したOpenLDAP)とは対照的です。
[Google Apps DirectorySync管理ガイド] [1]、28ページには、次のように記載されています。
There are three ways to mark your Google Apps users in LDAP:
• OU: Set up an organizational unit (OU) and move Google Apps users into that unit.
• Group: Create a new group in LDAP, and add Google Apps users as a member of that group.
• Custom Attribute: Create a custom attribute for your users, and set that attribute for new users.
私の推測では、どちらでもタスクを解決できますが、memberOfのユーザーへのクエリは、自分でmemberOf属性をユーザーオブジェクトに追加した場合にのみ機能します。これは、OpenDirectoryのカスタム属性と見なされます。
一部の属性がLDAPオブジェクトで空であるということは、大きな懸念事項ではありません。それは、それらがLDAPスキーマに含まれているが、それらの値がLDAPオブジェクトに設定されていないことを意味します。すぐに使用できるLDAP実装でも、同様の状態が見られます。
私は通常、Softerras LDAPブラウザを使用してLDAPツリーを参照し、適切な構文/パスをすばやく見つけます。無料のLDAPブラウザはたくさんありますが、それは私がどこかで拾ったものであり、交換する必要はありませんでした。
Macクライアントを使用している場合は、osxにもいくつかの選択肢があるようです: http://en.m.wikipedia.org/wiki/List_of_LDAP_software