Как удалить пользователя из группы OpenLDAP с помощью модуля Python ldap3?

Я пытаюсь управлять членством в группах для пользователей в каталоге 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
0
задан 15 October 2019 в 23:37
1 ответ

На случай, если это поможет кому-то другому, вместо conn.delete мне пришлось использовать метод modify с MODIFY_DELETE , указывая на группу DN с атрибутом memberUid и элементом, который необходимо удалить.

result = conn.modify("cn=sales,ou=groups,dc=mycorp,dc=net", {'memberUid': [(MODIFY_DELETE, ['milton'])]})
0
ответ дан 5 December 2019 в 00:21

Теги

Похожие вопросы