如何列出指定LDAP组中的所有成员

时间:2017-08-25 15:24:47

标签: linux ldap openldap ldap-query python-ldap

以下是我尝试做的示例代码:

server = 'ldap://myserver'

dn = 'uid=username,cn=users,cn=accounts,dc=example,dc=com'

base = 'cn=groupName,cn=groups,cn=accounts,dc=example,dc=com'

pw = "password"
filter = '(objectclass=*)'
attrs = ['member']

con = ldap.initialize(server)

try:
    con.start_tls_s()
    con.simple_bind_s(dn,pw)
    print con.search_s(base, ldap.SCOPE_SUBTREE, filter, attrs)
except ldap.INVALID_CREDENTIALS:
    print "Your username or password is incorrect."
    sys.exit()
except ldap.LDAPError, e:
    if type(e.message) == dict and e.message.has_key('desc'):
        print e.message['desc']
    else:
        print e
    sys.exit()
finally:
    print "unbinding."
    con.unbind()

我正在做一个connection.search_s(base, ldap.SCOPE_SUBTREE, filter, attrs)来简单地尝试打印指定组的所有成员。这种作品,但我得到了大量关于成员的其他信息。我如何使用过滤器和attrs变量,这样我才能得到一个只有成员uid的好列表?我的目标是尽可能将uid列表写入csv文件。

0 个答案:

没有答案
相关问题