LDAP + python

excusez moi pour mes questions un peu trop betes.

Alors je veux ajouter des utilisateurs depuis mon application dans Ldap mais m’affiche une erreur que je cherchai en vain mais je ne trouve pas donc si quelqu’un peut voir ou a une idée sera beaucoup sollicite.

Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 656, in respond response.body = self.handler() File "/usr/local/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 188, in __call__ self.body = self.oldhandler(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 34, in __call__ return self.callable(*self.args, **self.kwargs) File "acceuil.py", line 180, in creer_Cpte c1.ajoutLdap() File "/home/brahim/Bureau/workspace_cherrypy/Compte.py", line 48, in ajoutLdap l.add_s(dn,ldif) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 195, in add_s return self.result(msgid,all=1,timeout=self.timeout) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 458, in result resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 462, in result2 resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 469, in result3 resp_ctrl_classes=resp_ctrl_classes File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 476, in result4 ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 99, in _ldap_call result = func(*args,**kwargs) INSUFFICIENT_ACCESS: {'info': 'no write access to parent', 'desc': 'Insufficient access'}

je precise encore que le code est en python et si necessaire je peux affiche aussi le code.
merci d’avance

Depuis ton application ? Quelle est cette application ?

Bonsoir koreimy,

Python renvoie l’erreur :

...
INSUFFICIENT_ACCESS: {'info': 'no write access to parent', 'desc': 'Insufficient access'}

T’es-tu assuré d’avoir les droits d’accès en écriture dans ces fichiers auxquels tu veux accéder ?

A+

Bonjour Papy

ofet, je suis debutant en python et en ldap donc je ne sais pas encore quel droit je dois en avoir ?
pourtant je peux ajouter des utilisateurs par le console mais je ne sais pas l’erreur. Alors si vous avez une piste pour resoudre sera vraiment tres interessant.
A cause cette erreur je suis cale depuis 2 jours maintenant.

Que dois faire ton script ?

je vais expliquer un peu ce que mon application fait:
Dans un premier temps mon application permet aux utilisateurs d’ouvrir le compte dans le serveur LDAP
une fois l’utilisateur possede un compte il peut s’enregistrer et l’application verifie les droits s’il peut ou non d’acces a la salle
une fois il s’est enregistrer l’utilisateur peut ouvrir une session dans l’une des machines de la salle en s’authentifier par son login et mot de passe.Alors tout ça c’est mon application qui est charge de controler donc certes il y a aussi d’autres fonctionnalite mais pour le moment on s’arrete ici.

Alors maintement mon probleme est que, quand je veux ajouter un utilisateur il m’affiche l’erreur dont j’ai affiché ci-dessus pourtant j’ai une base Mysql dans laquelle j’ajoute sans probleme.

Donc un peu ça brievement ce que je veux faire et je m’excuse de mon français qui est beaucoup tordu.

Oui beaucoup tordu. Si tu es étrangé tu es pardonné :wink:

Pour qu’un script ou autre chose puisse ajouter un utilisateur dans un annuaire le script doit se connecter au prealable à l’annuaire. Donc dans ton appli tu dois renseigner les identifiants de ton admin ldap

bjr!
exactement ce que j’ai fait même mais mon administrateur c’est un utilisateur que j’ai ajouté par console donc je ne sais pas s’il lui manque encore quelque droit.Alors si tel est le cas comment donner tous les droits à ce utilisateur.

Merci

Essaye de lancer ton script en tant que root.

effectivement execute en tant root, mais je l’impression que l’erreur se trouve a ce niveau de deux fonctions suivante:

def __init__(self): self.__l = ldap.initialize("ldap://localhost")
il n’arrive pas à renvoyer self.__l

def connexionAdminLdap(self): self.__l.simple_bind_s("uid=koreimy,ou=Utilisateurs,dc=lnlm,dc=africacte","erebi")

ça commence quand cette ci-dessus veut s’executer

Merci encore pour votre aide

Alors la comme ça je ne peux pas t’aider je ne suis pas compétent en python.