Classes OpenLDAP

Résolu/Fermé
PRK Messages postés 799 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 6 décembre 2015 - 7 mars 2010 à 14:51
PRK Messages postés 799 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 6 décembre 2015 - 13 mars 2010 à 14:31
Bonjour,

Je met actuellement en place un annuaire LDAP via OpenLDAP sur une Centos 5.

Dans mon contexte actuel je cherche à mettre en place une fiche utilisateurs dans laquelle figurera pour chaque utilisateurs les informations suivantes :

- Une photo
- Nom
- Prenom
- telephone
- Adresse email
- login
- mot de passe
- ainsi que les informations de base de la classe posixAccount et Account

Voici ma question :

Je souhaiterai savoir comment faire pour créer une "surchage" afin de pouvoir insérer les informations suivante lorsque je crée un nouvel utilisateur dans mon annuaire :

- Photo
- Nom
- Prenom
- email
- telephone

Sachant que ces utilisateurs vont aussi permettre de s'identifier sur un poste client (de type Windows et Linux) ainsi que sur des serveurs d'applications, j'aimerai savoir si l'ajout de ces informations n'entraveront pas l'authentification des postes clients (via PAM et Samba).

Je reste disponibe pour toutes informations supplémentaires si jamais ma question ne vous parait pas assez claire.

Merci par avance

3 réponses

Bonjour,

Les informations sont définies (dans leur structure) par des schemas (/etc/ldap/schema/).
Dans le fichier de configuration du domaine ldap, on fait référence à ces schemas à l'aide d'un "include".

Par exemple pour les photos c'est dans le schema inetorgperson.schema
Ci dessous la structure de la classe InetOrgPerson

# inetOrgPerson
# The inetOrgPerson represents people who are associated with an
# organization in some way. It is a structural class and is derived
# from the organizationalPerson which is defined in X.521 [X521].
objectclass ( 2.16.840.1.113730.3.2.2
NAME 'inetOrgPerson'
DESC 'RFC2798: Internet Organizational Person'
SUP organizationalPerson
STRUCTURAL
MAY (
audio $ businessCategory $ carLicense $ departmentNumber $
displayName $ employeeNumber $ employeeType $ givenName $
homePhone $ homePostalAddress $ initials $ jpegPhoto $
labeledURI $ mail $ manager $ mobile $ o $ pager $
photo $ roomNumber $ secretary $ uid $ userCertificate $
x500uniqueIdentifier $ preferredLanguage $
userSMIMECertificate $ userPKCS12 )
)

Donc si tu ajoutes les bons schemas à ta config ldap, tu peux ajouter des informations. Il existe par exemple un schema pour ajouter les informations de Thunderbird :
https://wiki.mozilla.org/MailNews:Mozilla_LDAP_Address_Book_Schema
0
PRK Messages postés 799 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 6 décembre 2015 113
10 mars 2010 à 20:55
Merci pour ta réponse

En effet j'avais constaté qu'on pouvais inclure des schemas dans le fichier de config slapd.conf

Mais quand j'ai essayé de créer un compte avec en plus des informations du type POSIXaccount quelques une situées dans InetOrgPerson (mail et telephoneNumber), je me suis pris un message d'erreur.

Actuellement je ne peut pas te le poster car je n'ai pas le temps mais je t'en ferai part dans mon prochain post.
0
PRK Messages postés 799 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 6 décembre 2015 113
13 mars 2010 à 14:31
Bon j'ai resolu mon problème,

Voici la solution

Si vous voulez inclure en + des informations de base de type PosixAccount celles de la classe inetOrgPerson voici un exemple de la syntaxe de votre fichier .LDIF

dn: cn=robert DUPONT, ou=users,dc=mydomain,dc=lan
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: posixAccount
cn: robert DUPONT
sn: DUPONT
givenName: robert
uid: robert
uidNumber: 10002
gidNumber: 2000
homeDirectory: /home/robert
userPassword: [mot de passe]
loginShell: /bin/bash
description: robert DUPONT
mail: robert.dupont@xxxx.com
telephoneNumber: xx-xx-xx-xx-xx
street: ma rue
postalCode: 69XXX
postalAdress: mon adresse

En espérant que cela pourra en aider certains
0