Direktori LDAP perusahaan kami bertempat di penyiapan Direktori Open Server Snow Leopard. Saya mencoba menggunakan ldapsearch
alat untuk mengekspor file .ldif untuk mengimpor ke server LDAP eksternal lain untuk diautentikasi dengan eksternal; pada dasarnya berusaha untuk dapat menggunakan kredensial yang sama secara internal dan eksternal.
Saya telah ldapsearch
bekerja dan memberi saya konten dan atribut dari segala sesuatu di "Pengguna" OU, dan bahkan memfilter hanya atribut yang saya butuhkan:
ldapsearch -xLLL -H ldap://server.domain.net /
-b "cn=users,dc=server,dc=domain,dc=net" objectClass /
uid uidNumber cn userPassword > directorycontents.ldif
Itu memberi saya daftar pengguna dan properti yang bisa saya impor ke server OpenLDAP jarak jauh saya.
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
Namun, ketika saya mencoba kueri yang sama pada "grup" OD dan bukannya "wadah," hasilnya adalah seperti ini:
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
Yang benar-benar saya inginkan adalah daftar pengguna dari contoh teratas yang difilter berdasarkan keanggotaan grup mereka, tetapi sepertinya keanggotaan ditetapkan dari sisi Grup, bukan dari sisi akun pengguna. Pasti ada cara untuk menyaring ini dan hanya mengekspor apa yang saya butuhkan, kan?
sumber
memberOf
adalah atribut operasional dan perlu diminta secara eksplisit. Sebuah hanyaldapsearch
seperti disarankan di sini tidak akan kembalimemberOf
, bahkan jika itu ada. Juga harus disebutkan bahwamemberOf
overlay biasanya tidak diaktifkan secara default, meskipun saya tidak tahu bagaimana ini ditangani di OS X dan Open Directory.ldapsearch
berfungsi seperti yang diiklankan.Apakah Anda bertujuan untuk mewakili grup dengan menempatkan objek pengguna di wadah yang berbeda? Suka:
Jika demikian, saya berharap Anda harus menulis skrip untuk memijat LDIF. Coba modul Python-LDAP yang luar biasa.
Saya akan mempertanyakan mengapa Anda ingin melakukan itu. Itu membuatnya berantakan untuk memiliki pengguna yang milik beberapa kelompok, dan bertentangan dengan konvensi Open Directory. Tidak bisakah Anda menyalin semua objek pengguna dan grup ke server OpenLDAP Anda, dan menanyakannya berdasarkan keanggotaan grup alih-alih dari wadah mana objek pengguna itu berada?
sumber
Ini bekerja dengan sangat baik.
sumber