ldapsearch - CN의 모든 구성원 가져오기(nisNetgroupTriple)

ldapsearch - CN의 모든 구성원 가져오기(nisNetgroupTriple)

저는 LDAP, 특히 비 AD LDAP를 처음 사용했습니다. 우리는 RedHat Directory Server를 사용하고 특정 사용자 이름이 포함된 속성을 cn사용하는 에서 모든 사용자(및 해당 속성)를 검색하는 LDAP 쿼리(구체적으로 필터)를 수행하려고 했습니다 . nisNetgroupTriple이것이 우리가 "수퍼유저"를 관리하는 방법이며 다른 모든 사람들은 cn그들의 필요에 따라 특정 사용자로 이동합니다. 그래서 제 질문은 를 사용하여 에서 ldapsearch사용자 AND 속성( uid, sn, givenName, )을 검색하고 필터링하는 방법입니다 . 다음은 제가 테스트한 결과 의 일부 샘플 출력입니다 .mailcnldapsearch

# ldapsearch -xLLL -h server-p 389 -D "cn=Directory Manager" -b "cn=linux,dc=example,dc=org" \* + -W
Enter LDAP Password:
dn: cn=linux,dc=example,dc=org
nisNetgroupTriple: (,user1,)
nisNetgroupTriple: (,user2,)
nisNetgroupTriple: (,user3,)
cn: linux
objectClass: top
objectClass: nisNetgroup
memberNisNetgroup: linux
description: Linux

내가 해야 할 일은 각 사용자에 대한 속성을 얻는 것입니다: user1, user2, user3, 예:

# ldapsearch -xLLL -h server -p 389 -D "cn=Directory Manager" -b "dc=example,dc=org" -x '(&(objectClass=posixAccount)(uid=user1))' -W
Enter LDAP Password:
dn: uid=user1,ou=People,dc=example,dc=org
userPassword:: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
givenName: User
sn: One
loginShell: /bin/false
gidNumber: 1000
uidNumber: 10054
mail: user1@localhost
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetorgperson
objectClass: posixAccount
uid: user1
cn: User One
homeDirectory: /home/user1

이 작업을 수행하는 방법(가능한 경우)에 대해 인터넷에서 의미 있는 내용을 찾을 수 없는 것 같습니다. 또한 LDAP의 이 부분을 완전히 이해하지 못할 수도 있습니다. 이는 1) 아무것도 찾을 수 없고 2) 스스로 알아내는 방법을 모르는 이유일 수 있습니다.

도움을 주시면 감사하겠습니다.

답변1

다음 명령은 구성에 따라 사용자 이름을 검색하는 데 도움이 됩니다.

ldapsearch -h localhost -D "cn=Directory Manager" -b "dc=example,dc=org" -W -x "(&(objectClass=nisnetgroup)(nisNetgroupTriple=\(,user1,\)))" cn | grep dn

유일한 CN이 표시됩니다. 빠르게 grep을 수행하면 출력이 짧고 정확해집니다. 해당 그룹에 추가/수정하는 것이 더 도움이 될 것입니다.

이 LDAP 쿼리를 시도해보고 문제가 있으면 알려주시기 바랍니다.

관련 정보