Réinitialiser les mots de passe d'un active directory par LDAP
250386
Messages postés14Date d'inscriptionmercredi 12 mai 2004StatutMembreDernière intervention 9 juin 2009
-
17 janv. 2006 à 15:20
cs_ankou22
Messages postés81Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 7 juin 2012
-
2 mars 2006 à 13:08
Bonjour,
L'administrateur réseau de mon bahu m'a demandé de faire un programme en PHP afin qu'il puisse réinitialiser tous les mots de passe de son active directory pendant les vacances scolaires.
Donc, avec PHP, j'arrive à récupérer toutes les données relatives aux Users, mais je n'arrive pas à accéder aux mots de passe.
Si quelqu'un avait un bout de code afin de me donner une piste pour chercher, je lui en serait très reconnaissant car je n'arrive pas à trouver la manière d'accéder aux mots de passe.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 janv. 2006 à 16:15
Hello,
faut que tu te connectes au ldap avec les droits d'admin.
Tu dois pouvoir accéder aux mots de passe, généralement c'est userPassword.
Mais tu ne les verras jamais...
Par contre, tu peux lancer une commande LDAP qui va effectuer un reset.
Exemple pris chez Sun :
ldapmodify -h host -p port -D "cn=Directory Manager" -w password
dn: uid=bjensen,ou=People,dc=example,dc=com
changetype: modify
replace: userPassword
userPassword: ChAnGeMe
à toi d'utiliser les fonctions ldap de php pour lancer la commande réinitialisant un mot de passe pour un utilisateur donné (en fonction de son uid quoi).
250386
Messages postés14Date d'inscriptionmercredi 12 mai 2004StatutMembreDernière intervention 9 juin 2009 17 janv. 2006 à 17:38
Salut malalam,
merci de m'avoir répondu si vite.
J'ai oublier de préciser dans mon post que le serveur était sous Win 2K, et ta commande :"ldapmodify -h host -p port -D "cn=Directory Manager" -w password" ressemble plus a une ligne de commande d'un shell linux.
Je me demandais si proc_open() pouvait executer cette commande pour un serveur Windows.
En attendant je vais aller faire quelques recherches sur ldapmodify.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 janv. 2006 à 09:43
En fait, LDAP fonctionne avec des requêtes; et avec ces requêtes, tu peux effectuer des recherches, ou des modifications (il est loin le temps où j'étais champion ldap dans une grosse boîte...mes souvenirs s'estompent lol désolé). Or, les fonctions php pour LDAP te permettent d'éxecuter ces fonctions.
Dans les deux boîtes pour lesquelles j'ai été champion ldap, les deux fonctionnaient avec active directory. Les requêtes LDAP sont indépendantes des plateformes, de ce que j'en sais.
Après bon, comme je te l'ai dit, c'est un peu loin...donc je ne peux pas t'aider très précisément. Je sais juste qu'un de ces LDAP était géré sous php (l'autre sous Perl). Donc, c'est faisable...! (de faire un reset du userPassword, je veux dire, puisqu'on avait accès à ces commandes via une interface gérée en Perl ou en PHP). Malheureusement, je n'ai jamais accédé au code proprement dit.
Quant à la requête, aux lignes de commande précises que l'on utilisait parfois sur nos postes (pour aller polus vite et éviter une connexion au ldap), sous DOS, pour requêter le LDAP, je t'avoue que je ne m'en souviens pas précisément.