Я пытаюсь управлять членством в группах для пользователей в каталоге OpenLDAP с помощью Python ldap3
модуль. Документы для операции удаления показывают, как удалить пользователя из OU
, однако я просто хочу удалить записи memberUid
в POSIX
group объекты, а также записи 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
На случай, если это поможет кому-то другому, вместо conn.delete
мне пришлось использовать метод modify
с MODIFY_DELETE
, указывая на группу DN
с атрибутом memberUid
и элементом, который необходимо удалить.
result = conn.modify("cn=sales,ou=groups,dc=mycorp,dc=net", {'memberUid': [(MODIFY_DELETE, ['milton'])]})