Thư mục LDAP của công ty chúng tôi được đặt trong thiết lập Thư mục mở của Máy chủ Snow Leopard. Tôi đang cố gắng sử dụng ldapsearch
công cụ để xuất tệp .ldif để nhập vào máy chủ LDAP bên ngoài khác để xác thực với bên ngoài; về cơ bản cố gắng để có thể sử dụng cùng một thông tin bên trong và bên ngoài.
Tôi đã ldapsearch
làm việc và cung cấp cho tôi nội dung và thuộc tính của mọi thứ trong OU "Người dùng" và thậm chí chỉ lọc các thuộc tính tôi cần:
ldapsearch -xLLL -H ldap://server.domain.net /
-b "cn=users,dc=server,dc=domain,dc=net" objectClass /
uid uidNumber cn userPassword > directorycontents.ldif
Điều đó cho tôi một danh sách người dùng và các thuộc tính mà tôi có thể nhập vào máy chủ OpenLDAP từ xa của mình.
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
Tuy nhiên, khi tôi thử cùng một truy vấn trên một "nhóm" OD thay vì "thùng chứa", kết quả sẽ như thế này:
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
Điều tôi thực sự muốn là một danh sách người dùng từ ví dụ hàng đầu được lọc dựa trên tư cách thành viên nhóm của họ, nhưng có vẻ như tư cách thành viên được đặt từ phía Nhóm, thay vì phía tài khoản người dùng. Phải có một cách để lọc cái này xuống và chỉ xuất những gì tôi cần, phải không?
memberOf
là một thuộc tính hoạt động và cần phải được yêu cầu rõ ràng. Một thứldapsearch
giống như được đề xuất ở đây sẽ không trở lạimemberOf
, ngay cả khi nó tồn tại. Cũng cần đề cập rằngmemberOf
lớp phủ thường không được bật theo mặc định, mặc dù tôi không biết cách xử lý này trong OS X và Thư mục mở.