So finden alle Gruppen der Benutzer Mitglied ist? (LDAP)

Ich versuche, alle Gruppen, denen ein bestimmter Benutzer Mitglied ist.

Habe ich Folgendes Strukturen in ldap:

o=myOrganization
     ou=unit1
         cn=admin
         cn=guess

und

ou=users
    cn=ann
    cn=bob
    cn=carla
  • myOrganization ist eine Instanz der Organisation
  • unit1 ist eine Instanz von OrganizationUnit
  • admin und guess sind beide GroupOfNames und haben jeden als Mitglied
  • ann, bob, und carla sind Instanzen von Person

Derzeit bin ich mit der ldap-module auf python und das ist, was ich habe:

import ldap
l = ldap.initialize("ldap://my_host")
l.simple_bind_s("[my_dn]", "[my_pass]")
ldap_result = l.search("[BASE_DN]", ldap.SCOPE_SUBTREE, "(&(objectClass=Person)(cn=ann))", None)
res_type, data = l.result(ldap_result, 0)
print(data)

Und ich bin in der Lage, um die Benutzer ann; aber, wie bekomme ich die Gruppen Ann gehört?

Habe ich versucht, die folgenden von diese Seite:

search_filter='(|(&(objectClass=*)(member=cn=ann)))'
results = l.search_s([BASE_DN], ldap.SCOPE_SUBTREE, search_filter, ['cn',])

Aber ich habe eine leere Liste. Ich habe auch versucht, verschiedene Kombinationen von Abfragen", aber alle leer zurück.

PS: ich bin mit OpenLDAP auf einem linux-Rechner

  • Ich habe versucht, die folgenden von dieser Seite... Aber hatte keinen Erfolg. Wie genau war der aufgeführten Abfrage nicht erfolgreich? Leere Ergebnisse? Fehlermeldung?
  • Auch sind Sie nur auf der Suche nach Gruppen, in denen ann ist ein direktes Mitglied? (Was ist, wenn ann ist ein Mitglied einer Gruppe ist, die selbst Mitglied einer anderen Gruppe?)
  • Sind Sie mit Windows / Active Directory? Wenn Sie sind, ich würde vorschlagen, mit der pyad Paket. Ich weiß, dass es nicht besonders hilfreich, um Ihre genaue Frage, aber ich habe festgestellt pyad eine viel schönere Oberfläche als die python-ldap. Wäre dies so einfach, wie user.get_membersOf() die es erlaubt, auch einen Bereich angeben, und ob oder nicht rekursiv Untergruppen.
  • Ich bekomme eine leere Liste, wenn ich die Abfrage ausführen, die von der website, und ich bin nur auf der Suche nach direkten Mitglieder. Ich werde zu aktualisieren, meine Frage deutlicher machen
  • Ich bin mit openldap auf einem linux-Rechner
  • Ich weiß, Sie geben OpenLDAP, aber im Falle, es könnte helfen, jemand anderes als ich im Kampf sehr lange, weil es... Mit Active Directory müssen Sie die "distinguishedName" alle zusammen, um die Benutzer mit einer bestimmten Mitgliedschaft mit solchen search_filter... ich letztendlich finden diese Q&A, die besagt das gleiche : stackoverflow.com/questions/6195812/...

InformationsquelleAutor Rodolfo | 2016-10-24
Schreibe einen Kommentar