ไดเร็กทอรี LDAP ขององค์กรของเราตั้งอยู่ในการตั้งค่า Open Directory ของ Snow Leopard Server ฉันพยายามใช้ldapsearch
เครื่องมือเพื่อส่งออกไฟล์. lifif เพื่อนำเข้าสู่เซิร์ฟเวอร์ 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