如何查找用户所属的所有组?(LDAP)

2024-09-20 22:52:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取某个用户所属的所有组。

ldap中有以下结构

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

以及

ou=users
    cn=ann
    cn=bob
    cn=carla
  • myOrganization是组织的实例
  • unit1是OrganizationUnit的一个实例
  • adminguess都是名称组,并且每个人都是成员
  • annbobcarla是人的实例

目前,我在python上使用ldap模块,这就是我所拥有的:

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)

我可以获得用户ann;但是,如何获得Ann所属的组?

我试过了,下面是this页:

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

但我有一张空名单。我还尝试了各种查询组合,但它们都返回空的。

PS:我在linux机器上使用OpenLDAP


Tags: 实例用户searchadminmyouresultcn

热门问题