Modifier le DN (déplacer) un utilisateur avec python-ldap

import ldap

LDAP_URI = "ldaps://ldap-server.org"
POWERFUL_USER = "admin"
POWERFUL_USER_PWD = "$3cr31"

# on se connecte au server ldap
conn = ldap.initialize(LDAP_URI)
# on se bind avec un utilisateur qui a le droit de toucher aux attributs 
# des utilisateur
conn.simple_bind_s(POWERFUL_USER, POWERFUL_USER_PWD)

# pour déplacer un utilisateur, on a besoin de sont DN actuel...
user_old_dn = "uid=my_user,ou=group1,dc=ldap-server,dc=org"
# et du DN de son nouveau plus proche parent
new_superior_dn = "ou=group2,dc=ldap-server,dc=org"

# c'est parti !
conn.rename_s(dn=dn, newrdn="uid=my_user", newsuperior=new_superior_dn)

# on vérifie
conn.search_s(base="ou=group1,dc=ldap-server,dc=org",
              scope=ldap.SCOPE_SUBTREE,
              filterstr="uid=my_user",
              attrlist=["distinguishedName"])
# retourne []

conn.search_s(base="ou=group2,dc=ldap-server,dc=org",
              scope=ldap.SCOPE_SUBTREE,
              filterstr="uid=my_user",
              attrlist=["distinguishedName"])
# retourne [("UID=my_user,OU=group2,DC=ldap-server,DC=org", 
#                        {'distinguishedName': 
#                              ["UID=my_user,OU=group2,DC=ldap-server,DC=org]})]
Afficher les commentaires