ldapsearch - Alle Mitglieder eines CN abrufen (nisNetgroupTriple)

ldapsearch - Alle Mitglieder eines CN abrufen (nisNetgroupTriple)

Ich bin noch relativ neu im Umgang mit LDAP, insbesondere mit Nicht-AD-LDAP. Wir verwenden RedHat Directory Server und haben versucht, eine LDAP-Abfrage (speziell Filter) durchzuführen, die alle Benutzer (und ihre Attribute) aus einem abruft, das cnein nisNetgroupTripleAttribut mit bestimmten Benutzernamen verwendet. So verwalten wir die „Superuser“, und alle anderen werden dann cnje nach Bedarf in ein bestimmtes Verzeichnis verschoben. Meine Frage lautet also: Wie sucht und filtert man, um die Benutzer UND Attribute ( , , , ) aus einem ldapsearchabzurufen ? Hier sind einige Beispielausgaben aus einem , die ich als Test erstellt habe:uidsngivenNamemailcnldapsearch

# 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

Ich muss für jeden Benutzer die Attribute abrufen: user1, user2, user3, beispielsweise:

# 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

Ich kann im Internet nichts Sinnvolles dazu finden, wie das geht (falls es möglich ist). Außerdem verstehe ich diesen Teil von LDAP möglicherweise nicht ganz, was der Grund dafür sein könnte, dass ich 1) nichts finde und 2) nicht weiß, wie ich es selbst herausfinden soll.

Jede Hilfe wird geschätzt.

Antwort1

Der folgende Befehl hilft je nach Konfiguration bei der Suche nach dem Benutzernamen.

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

Es wird nur der cn angezeigt. Sie können schnell grep ausführen und die Ausgabe ist kurz und präzise. Es wäre hilfreicher, diese Gruppe zu ergänzen/zu ändern.

Bitte versuchen Sie diese LDAP-Abfrage und lassen Sie mich wissen, wenn Probleme auftreten.

verwandte Informationen