Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
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 15/09/2006, 13h33   #1
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Par défaut Ldap_add: Undefined attribute type (17) additional info: datedebact: attribute type

Salut,

J'ai mis en place entre temps un annuaire ldap (openldap sous fc2). Toutefois à présent j'ai dû intégrer un schéma qui n'existait pas. Ce dernier définit une classe d'objet structurelle appellée abonneUL qui dérive d'une classe auxiliaire postfixUser. Tout s'est bien passé au redémarrage de slapd. Cependant lorsque je teste une première entrée avec 1 fichier de format ldif, j'obtiens le message d'erreur ci-dessus. D'où je me pose ces questions:
  • Peut-on dériver une classe structurelle d'une autre auxiliaire?
    Dois-je indiquer au serveur que abonneUL est une nouvelle classe?
Bref où se trouverait le problème. Je serai reconnaissant à votre aide.
Le message d'erreur est:
ldap_initialize( <DEFAULT> )
add cn:
lamegee
add sn:
AMEGEE
add mailaccount:
lamegee@ub.tg
add accountstatus:
active
add datedebact:
"140906"
add dateAct:
"140906"
add perAct:
3
add description:
abonne inscrit pour 3 mois
add homedirectory:
/home/autres/lamegee
add downloaddir:
/home/autres/lamegee/download
add objectclass:
abonneUL
postfixUser
adding new entry "cn=lamegee,ou=abonnes,ou=personnes,o=ul,c=tg"
ldapadd: update failed: cn=lamegee,ou=abonnes,ou=personnes,o=ul,c=tg
ldap_add: Undefined attribute type (17)
additional info: datedebact: attribute type undefined

Ici je mets le output du fichier ldif:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
#Premier abonné inséré dans la base de l'annuaire
dn: cn=lamegee,ou=abonnes,ou=personnes,o=ul,c=tg
cn: lamegee
sn: AMEGEE
mailaccount: lamegee@ub.tg
accountstatus: active
datedebact: "140906"
dateAct: "140906"
perAct: 3
description: abonne inscrit pour 3 mois
homedirectory: /home/autres/lamegee
downloaddir: /home/autres/lamegee/download
#objectclass: inetorgperson
objectclass: abonneUL
objectclass: postfixUser
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2006, 16h40   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par Dosseh
Peut-on dériver une classe structurelle d'une autre auxiliaire?
Pas clair. D'après mes souvenirs, une classe structurelle peut hériter d'une classe auxiliaire mais pas l'inverse.
Citation:
Envoyé par Dosseh
Dois-je indiquer au serveur que abonneUL est une nouvelle classe?
Oui, pour cela créez un nouveau schema (évitez de modifier tant que possible ceux qui existent déjà) puis ajouter ce dernier à votre fichier de configuration slapd.conf (directive include).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 11h22   #3
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Oui, effectivement c'est que je posais comme question. Et donc une classe structurelle peut hériter donc d'une classe auxiliaire.
Toutefois avec la règle include j'ai intégré mon nouveau schéma dans le fichier de confiugration mais il me renvoie la même erreur lorsque je tente d'insérer une entrée ldif.
Voulez-vous que je poste le contenu de mon schéma?
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 13h33   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par Dosseh
Voulez-vous que je poste le contenu de mon schéma?
Oui s'il vous plaît, puisqu'à priori l'erreur se situe dans la déclaration de ce nouvel objet (ceci inclue les attributs).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2006, 17h11   #5
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Le contenu du fichier abonne.schema:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
##################################ABONNE.schema################################################
#
#
#
#
#
#Ce fichier contient les définitions supplémentaires d'attributs et de classes du projet
#                   GESTION DES ABONNES AU COMPTE DE MESSAGERIE
#
#
#
#
# L'oid de départ: 1.3.6.1.4.1.23786.2
# L'oid de départ pour les attributs(attributetype): 1.3.6.1.4.1.23786.2.1
# L'oid de départ pour les classes d'objet(objectClass): 1.3.6.1.4.1.23786.2.2
#
# Nécessite l'inclusion de: ida.schema, postfix.schema respectivement(évidemment ceux qui accompagnent openldap sont du lot comme)
# core.schema,cosine.schema etc.
 
objectIdentifier ldapAttributeTypes: 1.3.6.1.4.1.1466.115.121.1
 
#L'attribut date de début de la période d'abonnement
 
attributetype( 1.3.6.1.4.1.23786.2.1.1 NAME 'datedebact'
 SUP dateul
 DESC 'Date de début dabonnement'
 EQUALITY numericStringMatch
 
 SUBSTR numericStringSubstringsMatch
 
 SYNTAX ldapAttributeTypes:36{6} )
 
#
# Attribut: date d'activation/création du compte
attributetype( 1.3.6.1.4.1.23786.2.1.7 NAME 'dateAct'
 SUP name
 DESC 'Date dactivation'      
 SINGLE VALUE )
 
 
#L'attribut nom du répertoire de téléchargement
attributetype(1.3.6.1.4.1.23786.2.1.2 NAME 'downloaddir'
 DESC 'Répertoire contenant les téléchargements différés'
 SUP mailMessageStore
 SYNTAX ldapAttributeTypes:39
 SINGLE-VALUE )
 
#L'attribut Période d'abonnement
 
attributetype( 1.3.6.1.4.1.23786.2.1.3 NAME 'perAct'
 DESC 'La période que doit couvrir labonnement en nbre de mois'
 EQUALITY integerMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
 
#L'attribut Montant en F CFA
 
attributetype( 1.3.6.1.4.1.23786.2.1.4 NAME 'montantAbon'
 DESC 'Le montant de labonnement'
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{3} )
 
#L'attribut Nom de famille de l'abonné
 
attributetype( 1.3.6.1.4.1.23786.2.1.5 NAME 'nomFamAbon'
 DESC 'Le nom de famille'
 SUP sn
 EQUALITY distinguishedNameMatch
 SUBSTR caseIgnoreSubstringsMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
 SINGLE-VALUE )
 
#L'attribut Prénoms de l'abonné
 
attributype( 1.3.6.1.4.1.23786.2.1.6 NAME 'prenAbon'
 DESC 'Prénoms de labonné'
 SUP gn
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
#
#
#
#
#----------------------Déclaration de la classe ABONNE
#
#
#
#
 
objectClass( 1.3.6.1.4.1.23786.2.2 NAME 'abonneUL'
 DESC 'Labonne au compte de messagerie de UL'
 SUP postfixUser STRUCTURAL
 MUST ( mailaccount $ accountStatus $ perAct $ montantAbon )
 MAY (userPassword $ homeDirectory $ datedebact $ dateAct $ nomFamAbon $ prenAbon $ Mobile $ homePhone $ postalCode $ downloaddir )
)
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 11h29   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
J'ai tenté de corriger votre schema mais ne disposant pas du schema qmail je n'ai pu aller plus loin (j'en ai bien trouvé une version bourrée d'erreurs ) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 
# This is a good place to put your schema definitions 
##################################ABONNE.schema################################################
#
#
#
#
#
#Ce fichier contient les définitions supplémentaires d'attributs et de classes du projet
#                   GESTION DES ABONNES AU COMPTE DE MESSAGERIE
#
#
#
#
# L'oid de départ: 1.3.6.1.4.1.23786.2
# L'oid de départ pour les attributs(attributetype): 1.3.6.1.4.1.23786.2.1
# L'oid de départ pour les classes d'objet(objectClass): 1.3.6.1.4.1.23786.2.2
#
# Nécessite l'inclusion de: ida.schema, postfix.schema respectivement(évidemment ceux qui accompagnent openldap sont du lot comme)
# core.schema,cosine.schema etc.
 
objectIdentifier ldapAttributeTypes 1.3.6.1.4.1.1466.115.121.1
 
#L'attribut date de début de la période d'abonnement
 
attributetype ( 1.3.6.1.4.1.23786.2.1.1 NAME 'datedebact'
 SUP dateul
 DESC 'Date de début dabonnement'
 EQUALITY numericStringMatch
 SUBSTR numericStringSubstringsMatch
 SYNTAX ldapAttributeTypes:36{6} )
 
#
# Attribut: date d'activation/création du compte
attributetype ( 1.3.6.1.4.1.23786.2.1.7 NAME 'dateAct'
 DESC 'Date dactivation'      
 SUP name
 SINGLE-VALUE )
 
 
#L'attribut nom du répertoire de téléchargement
attributetype ( 1.3.6.1.4.1.23786.2.1.2 NAME 'downloaddir'
 DESC 'Répertoire contenant les téléchargements différés'
 SUP mailMessageStore
 SYNTAX ldapAttributeTypes:39
 SINGLE-VALUE )
 
#L'attribut Période d'abonnement
 
attributetype ( 1.3.6.1.4.1.23786.2.1.3 NAME 'perAct'
 DESC 'La période que doit couvrir labonnement en nbre de mois'
 EQUALITY integerMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
 
#L'attribut Montant en F CFA
 
attributetype ( 1.3.6.1.4.1.23786.2.1.4 NAME 'montantAbon'
 DESC 'Le montant de labonnement'
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{3} )
 
#L'attribut Nom de famille de l'abonné
 
attributetype ( 1.3.6.1.4.1.23786.2.1.5 NAME 'nomFamAbon'
 DESC 'Le nom de famille'
 SUP sn
 EQUALITY distinguishedNameMatch
 SUBSTR caseIgnoreSubstringsMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
 SINGLE-VALUE )
 
#L'attribut Prénoms de l'abonné
 
attributype ( 1.3.6.1.4.1.23786.2.1.6 NAME 'prenAbon'
 DESC 'Prénoms de labonné'
 SUP gn
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
#
#
#
#
#----------------------Déclaration de la classe ABONNE
#
#
#
#
 
objectClass ( 1.3.6.1.4.1.23786.2.2 NAME 'abonneUL'
 DESC 'Labonne au compte de messagerie de UL'
 SUP postfixUser STRUCTURAL
 MUST ( mailaccount $ accountStatus $ perAct $ montantAbon )
 MAY (userPassword $ homeDirectory $ datedebact $ dateAct $ nomFamAbon $ prenAbon $ Mobile $ homePhone $ postalCode $ downloaddir )
)
  • Pas de deux points après : objectidentifier ldapAttributeTypes
  • SINGLE-VALUE et non SINGLE VALUE
  • La nouvelle grammaire pour la déclaration des attributs/objets c'est de mettre des espaces avant/après la parenthèse, exemple : attributetype ( 1.1...

Il est facile de trouver les erreurs en lançant slapd ainsi :
Code :
1
2
 
slapd -d -1 -u ldap -g ldap -4
(c'est surtout l'option -d -1 qui est importante ici).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 12h15   #7
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Content de votre aide Julp!
Je teste & je vs envoie le résultat
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 18h19   #8
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Merci Julp,
Toutefois la tâche est loin d'être terminée. J'ai dû faire beaucoup de retouches à mon schéma et maintenant j'ai le message d'erreur suivant pour l'ajout d'une entrée ldif:
Citation:
ldapadd: update failed: cn=lamegee,ou=abonnes,ou=personnes,o=ul,c=tg
ldap_add: Invalid syntax (21)
additional info: datedebact: value #0 invalid per syntax
Je mets ici mon fichier ldif
Citation:
dn: cn=lamegee,ou=abonnes,ou=personnes,o=ul,c=tg
prenabon: lamegee
nomfamabon: AMEGEE
mailaccount: lamegee@ub.tg
accountStatus: active
datedebact: 14-09-06
dateAct: 14-09-06
perAct: 3
description: abonne inscrit pour 3 mois
homedirectory: /home/autres/lamegee
downloaddir: /home/autres/lamegee/download
objectclass: abonneUL
objectclass: postfixUser
Pour ce qui est de mon fichier schéma, le voici:
Citation:
##################################ABONNE.schema################################################
#
#
#
#
#
#Ce fichier contient les définitions supplémentaires d'attributs et de classes du projet
# GESTION DES ABONNES AU COMPTE DE MESSAGERIE
#
#
#
#
# L'oid de départ: 1.3.6.1.4.1.23786.2
# L'oid de départ pour les attributs(attributetype): 1.3.6.1.4.1.23786.2.1
# L'oid de départ pour les classes d'objet(objectClass): 1.3.6.1.4.1.23786.2.2
#
# Nécessite l'inclusion de: ida.schema, postfix.schema respectivement(évidemment ceux qui accompagnent openldap sont du lot comme)
# core.schema,cosine.schema etc.

objectIdentifier ldapAttributeTypes 1.3.6.1.4.1.1466.115.121.1

#L'attribut date de début de la période d'abonnement

attributetype ( 1.3.6.1.4.1.23786.2.1.1 NAME 'datedebact'
DESC 'Date de début dabonnement'
EQUALITY numericStringMatch

SUBSTR numericStringSubstringsMatch

SYNTAX ldapAttributeTypes:36{6} )

#
# Attribut: date d'activation/création du compte
attributetype ( 1.3.6.1.4.1.23786.2.1.7 NAME 'dateAct'
SUP name
DESC 'Date dactivation'
SINGLE-VALUE )

#L'attribut nom du répertoire de téléchargement
attributetype ( 1.3.6.1.4.1.23786.2.1.2 NAME 'downloaddir'
DESC 'Répertoire contenant les téléchargements différés'
SYNTAX ldapAttributeTypes:39
SINGLE-VALUE )

#L'attribut Période d'abonnement

attributetype ( 1.3.6.1.4.1.23786.2.1.3 NAME 'perAct'
DESC 'La période que doit couvrir labonnement en nbre de mois'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )

#L'attribut Montant en F CFA

attributetype ( 1.3.6.1.4.1.23786.2.1.4 NAME 'montantabon'
DESC 'Le montant de labonnement'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{3} )

#L'attribut Nom de famille de l'abonné

attributetype ( 1.3.6.1.4.1.23786.2.1.5 NAME 'nomfamabon'
DESC 'Le nom de famille'
SUP sn
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SINGLE-VALUE )

#L'attribut Prénoms de l'abonné

attributetype ( 1.3.6.1.4.1.23786.2.1.6 NAME 'prenabon'
DESC 'Prenoms de labonne'
SUP gn)

#L'attribut privileged: pas de renouvellement d'abonnement
#Règles d'égalité à prévoir
attributetype ( 1.3.6.1.4.1.23786.2.1.8 NAME 'privileged'
DESC 'Privilege de ne pas avoir besoin dabonnement'
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
SINGLE-VALUE)
#
#
#
#----------------------Déclaration de la classe ABONNE
#
#
#
#
objectClass ( 1.3.6.1.4.1.23786.2.2 NAME 'abonneUL'
DESC 'Labonne au compte de messagerie de UL'
SUP top STRUCTURAL
MUST ( mailaccount $ accountStatus $ perAct $ montantAbon )
MAY ( userPassword $ homeDirectory $ datedebact $ dateAct $ nomfamabon $ prenabon $ Mobile $ homePhone $ postalCode $ downloaddir $ privileged )
)
En entendant je continue à rechercher la source de cette erreur.
Merci de cette aide bienveillante, Julp!
Dosseh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 19h23   #9
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Une numericString me paraît inappropriée pour une date par rapport au format utilisé (jj-mm-aaaa) dans votre LDIF, de plus la taille ne correspond pas (6 caractères) ...


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2006, 16h44   #10
Membre à l'essai
 
Inscription : avril 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 103
Points : 20
Points : 20
Effectivement Julp.
Désolé du retard de ce post(problème de connexion internet).
Voici le nouveau schéma que j'utilise et ça marche:
Citation:
##################################ABONNE.schema################################################
#
#
#
#
#
#Ce fichier contient les définitions supplémentaires d'attributs et de classes du projet
# GESTION DES ABONNES AU COMPTE DE MESSAGERIE
#
#
#
#
# L'oid de départ: 1.3.6.1.4.1.23786.2
# L'oid de départ pour les attributs(attributetype): 1.3.6.1.4.1.23786.2.1
# L'oid de départ pour les classes d'objet(objectClass): 1.3.6.1.4.1.23786.2.2
#
# Nécessite l'inclusion de: ida.schema, postfix.schema respectivement(évidemment ceux qui accompagnent openldap sont du lot comme)
# core.schema,cosine.schema etc.

objectIdentifier ldapAttributeTypes 1.3.6.1.4.1.1466.115.121.1

#L'attribut date de début de la période d'abonnement

attributetype ( 1.3.6.1.4.1.23786.2.1.1 NAME 'datedebact'
DESC 'Date de début dabonnement'
EQUALITY caseExactIA5Match

SUBSTR caseIgnoreSubstringsMatch

SYNTAX ldapAttributeTypes:26{6} )

#
# Attribut: date d'activation/création du compte
attributetype ( 1.3.6.1.4.1.23786.2.1.7 NAME 'dateAct'
SUP name
DESC 'Date dactivation'
SINGLE-VALUE )

#L'attribut nom du répertoire de téléchargement
attributetype ( 1.3.6.1.4.1.23786.2.1.2 NAME 'downloaddir'
DESC 'Répertoire contenant les téléchargements différés'
SYNTAX ldapAttributeTypes:39
SINGLE-VALUE )

#L'attribut Période d'abonnement

attributetype ( 1.3.6.1.4.1.23786.2.1.3 NAME 'perAct'
DESC 'La période que doit couvrir labonnement en nbre de mois'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )

#L'attribut Montant en F CFA

attributetype ( 1.3.6.1.4.1.23786.2.1.4 NAME 'montantabon'
DESC 'Le montant de labonnement'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{3} )

#L'attribut Nom de famille de l'abonné

attributetype ( 1.3.6.1.4.1.23786.2.1.5 NAME 'nomfamabon'
DESC 'Le nom de famille'
SUP sn
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SINGLE-VALUE )

#L'attribut Prénoms de l'abonné

attributetype ( 1.3.6.1.4.1.23786.2.1.6 NAME 'prenabon'
DESC 'Prenoms de labonne'
SUP gn)

#L'attribut privileged: pas de renouvellement d'abonnement
#Règles d'égalité à prévoir
attributetype ( 1.3.6.1.4.1.23786.2.1.8 NAME 'privileged'
DESC 'Privilege de ne pas avoir besoin dabonnement'
EQUALITY booleanMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
SINGLE-VALUE)
#
#
#
#----------------------Déclaration de la classe ABONNE
#
#
#
#
objectClass ( 1.3.6.1.4.1.23786.2.2 NAME 'abonneUL'
DESC 'Labonne au compte de messagerie de UL'
SUP top STRUCTURAL
MUST ( cn $ mailaccount )
MAY ( accountStatus $ userPassword $ montantAbon $ homeDirectory $ perAct $ datedebact $ dateAct $ nomfamabon $ prenabon $ Mobile $ homePhone $ postalCode $ downloaddir $ privileged )
)
Mes problèmes étaient essentiellement dûs à un fichier de schéma incorrect.
Merci pour tout Julp.
A nous revoir
Dosseh 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 06h08.


 
 
 
 
Partenaires

Hébergement Web