Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2011, 11h08   #1
Invité régulier
 
Inscription : décembre 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 38
Points : 9
Points : 9
Par défaut Modification d'un attribut technique dans OpenLDAP

Bonjour,

Je dispose d'un annuaire LDAP géré par OpenLDAP. Dans ce dernier je range des personnes (classe organizationalPerson). Dans cette classe il y a un attribut technique nommé pwdChangedTime.

Cet attribut est mis à jour automatiquement par OpenLDAP à la date du jour lorsqu'on change le mot de passe de l'utilisateur.

Mon programme Java utilise l'attribut pwdChangedTime afin de déterminer si le mot de passe est expiré ou non (selon une durée déterminée dans l'application).



Or, pour effectuer des tests de recette je dois créer des scenarii où des utilisateur ont une date de pwdChangedTime loin dans le passé ... je dois donc pouvoir changer cette date manuellement pour créer des cas de test.

Le problème est que si je tente de modifier manuellement cet attribut, j'ai l'erreur suivante :

Code :
1
2
3
4
5
replace pwdChangedTime:
        20110101000000Z
modifying entry "cn=PE001185,ou=personnes,o=ges"
ldap_modify: Constraint violation (19)
        additional info: pwdChangedTime: no user modification allowed


J'ai utilisé la commande suivante :

Code :
ldapmodify -v -D cn=manager,o=ges -w secret -f pwdct.txt
- cn=manager,o=ges est le superutilisateur de mon annuaire
- pwdct.txt est le fichier contenant la donnée à modifier ...


Auriez-vous une idée sur comment modifier cet attribut ??
Merci à vous
Ernesto_X est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 11h22   #2
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 549
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 549
Points : 4 269
Points : 4 269
Hello,

Pourrais-tu nous montrer les valeurs des options rootdn, updatedn(s'il existe) ainsi que les options access de ton slapd.conf?
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 11h45   #3
Invité régulier
 
Inscription : décembre 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 38
Points : 9
Points : 9
Bonjour,

Oui, voici les options utilisées dans mon slapd.conf :

Code :
1
2
3
4
5
 
database	bdb
suffix 		"o=ges"
checkpoint	1024 15
rootdn 		"cn=manager,o=ges"
Code :
1
2
3
4
5
6
7
8
9
10
11
 
access to dn.base=""
	by * read
 
access to dn.base="cn=Subschema"
	by * read
 
access to attrs=userPassword
	  by self write
	  by anonymous auth
	  by * none
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
access to dn.subtree="ou=techniques,o=ges" filter="objectclass=inetOrgPerson)"
	by anonymous auth
	by * none
access to dn.subtree="ou=techniques,o=ges"
	by dn.base="cn=lecture,ou=users,ou=techniques,o=ges" read
	by * none
 
access to dn.one="ou=personnes,o=ges" attrs=userPassword
	by self write
	by dn.base="cn=ecriture,ou=users,ou=techniques,o=ges" write
	by dn.base="cn=lecture,ou=users,ou=techniques,o=ges" read
	by anonymous auth
	by * none
 
access to dn.subtree="o=ges"
	by dn.base="cn=ecriture,ou=users,ou=techniques,o=ges" write
	by dn.base="cn=lecture,ou=users,ou=techniques,o=ges" read
	by * none
Peut-être dois-je rajouter une option autorisant le cn=manager à tout modifier ?
Ernesto_X est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 12h37   #4
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 549
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 549
Points : 4 269
Points : 4 269
Re,

Effectivement, je ne vois aucune acl autorisant le "superuser" a écrire.

Normallement si c'est le superutilisateur, il devrait avoir un accès full à tous les objets de l'annuaire.

Maintenant si tu veux juste lui donner le droit de modifier le username/password,
Tu peux ajouter la ligne suivante à ton acl qui gère attribut userPassword:

Code :
1
2
3
4
5
6
 
access to attrs=userPassword
	  by self write
	  by anonymous auth
          by "cn=manager,o=ges" write
	  by * none
Ensuite redémarrer le service ldap et tester
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 14h16   #5
Invité régulier
 
Inscription : décembre 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 38
Points : 9
Points : 9
J'ai testé ces lignes dans mon slapd.conf ...

Mais je ne peux toujours pas modifier l'attribut pwdChangedTime de la classe organizationalPerson.

Pourtant je me connecte avec le rootdn, il devrait pouvoir tout lire et tout écrire normalement (bizarre).

J'ai testé ceci mais sans succès :

Code :
1
2
3
4
5
6
 
access to attrs=pwdChangedTime
	  by self write
	  by anonymous auth
          by "cn=manager,o=ges" write
	  by * none


Là je sèche complétement ...
Ernesto_X est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h30.


 
 
 
 
Partenaires

Hébergement Web