私たちの企業のLDAPディレクトリは、Snow Leopard Serverのオープンディレクトリのセットアップに格納されています。このldapsearch
ツールを使用して.ldifファイルをエクスポートし、外部で認証するために別の外部LDAPサーバーにインポートしようとしています。基本的に、同じ資格情報を内部および外部で使用できるようにしようとしています。
私が持っているldapsearch
「ユーザー」OU内のすべての内容と属性を働いて、私に与え、さらには唯一私が必要属性にダウンフィルタリング:
ldapsearch -xLLL -H ldap://server.domain.net /
-b "cn=users,dc=server,dc=domain,dc=net" objectClass /
uid uidNumber cn userPassword > directorycontents.ldif
これにより、リモートOpenLDAPサーバーにインポートできるユーザーとプロパティのリストが表示されます。
dn: uid=username1,cn=users,dc=server,dc=domain,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: organizationalPerson
uidNumber: 1000
uid: username1
userPassword:: (hashedpassword)
cn: username1
ただし、「コンテナ」ではなくOD「グループ」で同じクエリを実行すると、結果は次のようになります。
dn: cn=groupname,cn=groups,dc=server,dc=domain,dc=net
objectClass: posixGroup
objectClass: apple-group
objectClass: extensibleObject
objectClass: top
gidNumber: 1032
cn: groupname
memberUid: username1
memberUid: username2
memberUid: username3
本当に欲しいのは、グループメンバーシップに基づいてフィルター処理された上位の例のユーザーのリストですが、メンバーシップはユーザーアカウント側ではなくグループ側から設定されているようです。これをフィルタリングして、必要なものだけをエクスポートする方法が必要ですよね?
memberOf
では操作属性であり、明示的に要求する必要があることに注意する必要があります。単なるldapsearch
ここで提案のように戻りませんmemberOf
、それが存在する場合でも、。memberOf
OS XとOpen Directoryでこれがどのように処理されるかはわかりませんが、オーバーレイは通常デフォルトでは有効になっていません。