Il y a trois modes:
- MOD_ADD: Ceci est utilisé pour ajouter une valeur d'attribut. Si l'attribut existe déjà (et que le schéma autorise plusieurs valeurs), la nouvelle valeur sera ajoutée et l'ancienne valeur restera.
- MOD_DELETE: La valeur de l'attribut sera supprimée, si elle existe.
- MOD_REPLACE: Les valeurs d'attribut données remplaceront toutes les autres valeurs pour ce nom d'attribut. En d'autres termes, toutes les anciennes valeurs de l'attribut seront supprimées, puis cette valeur sera ajoutée.
vous devriez utiliser MOD_REPLACE
>>> mod_attrs = [ (ldap.MOD_DELETE, 'cn','Francis Bacon') ]
>>> l.modify_s('uid=francis,ou=users,dc=example,dc=com', mod_attrs)
(103, [])
>>>
Cela supprimera uniquement la valeur de l'attribut Francis Bacon de l'attribut cn. Si une telle valeur n'existe pas, une exception NO_SUCH_ATTRIBUTE sera déclenchée. Sinon, la valeur sera rejetée.
source: https://www.packtpub.com/books/content/python-ldap-applications-part-3-more-ldap-operations-and-ldap-url-library