如何使用 Python ldap3 模块从 OpenLDAP 组中删除用户?

如何使用 Python ldap3 模块从 OpenLDAP 组中删除用户?

我正在尝试使用 Python 模块管理 OpenLDAP 目录中用户的组成员身份ldap3删除操作的文档展示如何从中删除用户OU,但我只是想删除组对象memberUid中的条目POSIX以及对象member中的条目groupOfName

我尝试使用c.delete()呼叫来执行此操作,但没有成功。还有其他方法吗?

我的组对象如下所示:

dn: cn=sales,ou=groups,dc=mycorp,dc=net
cn: sales
gidNumber: 12009
objectClass: posixGroup
objectClass: top
memberUid: milton
memberUid: trebor
memberUid: yggdrasil

我能想到的唯一咒语(显然是错误的)是:

   conn.delete ('memberUid=milton,cn=sales,ou=groups,dc=mycorp,dc=net')

结果是:

ldap3.core.exceptions.LDAPNoSuchObjectResult: LDAPNoSuchObjectResult - 32 - noSuchObject - cn=sales,ou=groups,dc=mycorp,dc=net - None - delResponse - None

答案1

以防它能帮助别人,conn.delete我不必使用modify带有MODIFY_DELETE操作的方法,同时指向要删除的DN具有memberUid属性和成员的组。

result = conn.modify("cn=sales,ou=groups,dc=mycorp,dc=net", {'memberUid': [(MODIFY_DELETE, ['milton'])]})

相关内容