Documente Academic
Documente Profesional
Documente Cultură
Stphane Gill
Stephane.Gill@CollegeAhuntsic.qc.ca
Dfinitions
Installation dOpenLDAP
Fichiers de configuration
dition de /etc/openldap/slapd.conf
Dmarrage du serveur
LDIF
Rechercher un enregistrement
Ajouter un enregistrement
Modifier un enregistrement
Rfrences
Introduction
Lightweight Directory Access Protocol (LDAP) est un protocole bas sur TCP/IP qui permet de
partager des bases de donnes sur un rseau interne ou sur Internet. Ces bases de donnes
sont appeles annuaire lectronique (Directory), elles peuvent contenir divers type dinformations,
dont :
LDAP peut aussi tre utilis dune manire semblable au service dinformations rseau (NIS,
Network Information Service), afin de permettre aux utilisateurs dun rseau de sauthentifier. Le
principal avantage du protocole LDAP rside dans la possibilit de runir les informations dune
organisation dans un lieu central.
OpenLDAP 2.0 est un implmentation OpenSource des protocoles LDAPv2 et LDAPv3. Ces
protocoles sont bass sur le standard X.500.
Dfinitions
Dans cette section, la terminologie spcifique LDAP est prsente.
Entres
Chaque entre correspond une seule unit (objet) dans un rpertoire LDAP. Chaque entr est
identifi de manire unique par sont nom distinctif ou DN (Distinguished Name).
Attributs
Les entres peuvent tres considrs comme des objets possdant certains attributs. Par
exemple, un employ pourrait tre reprsent par une entre LDAP. Parmi les attributs associ
un employ on pourrait retrouv le nom, le prnom, lge Il est possible de dfinir des
attributs obligatoire et optionnel.
Page 2
Classes d'objet
On regroupe les objets qui sont du mme domaine dans une classe d'objet, celle-ci est
caractrise par des attributs obligatoires ou optionnels et un type. Les types de classe d'objet
sont:
type abstraire : classes d'objet qui existent par dfaut et qui n'ont pas de signification
concrte, par exemple la classe top est la classe d'objet gnrique, toutes les autres
classes drivent de cette classe.
Schmas
Un schma dcrit toutes les rgles qu'utilisent le serveur LDAP pour dcrire les classes d'objets
(attributs, syntaxe, ...).
Installation dOpenLDAP
Il existe de nombreux serveurs LDAP, RedHat Linux utilise OpenLDAP v2.0. La dernire version
dOpenLDAP est disponible sur le site web http://www.openldap.org. Les outils ncessaires sont
rpartis dans les paquetages rpm suivant :
openldap;
openldap-clients;
openldap-servers.
Outre les paquetages OpenLDAP, RedHat Linux comprend un paquetage nomm nss_ldap. Les
librairies contenues dans ce paquetage permettent dutiliser LDAP pour lauthentification des
Page 3
utilisateurs. Il existe des clients ldap graphiques qui supporte la cration et la modification
dentres. Voici quelques exemples :
LABE (http://www.savoirfairelinux.com/labe);
GQ (http://biot.com/gq/);
kldap (http://www.mountpoint.ch/oliver/kldap/);
KdirAdm (http://www.carillonis.com/kdiradm/);
Fichiers de configuration
Les fichiers de configuration sont installs dans le rpertoire /etc/openldap/. Ci-dessous figure la
liste des fichiers et rpertoire important :
Page 4
include /usr/share/openldap/schema/cosine.schema
include /usr/share/openldap/schema/corba.schema
Lorsquil est ncessaire dajouter dautres types dattribut ou de classes dobjets il est prfrable
de crer un fichier local.schema au lieu de modifier les fichiers existant. La syntaxe utilise dans
les fichiers de schma est complexe et dpasse le cadre du prsent chapitre. Voici quand mme
un exemple avec la classe person .
objectclass ( 2.5.6.6 NAME 'person'
DESC 'RFC2256: a person'
SUP top STRUCTURAL
MUST ( sn $ cn )
MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
Linstruction MUST permet de dfinir les attributs obligatoires tandis que MAY dfinit les attributs
facultatifs. La classe person possde donc 2 attributs obligatoires soit sn ( surname ; nom) et
cn ( common name ; prnom nom). Les attributs userPassword, telephoneNumber, seeAlso et
description sont facultatifs.
dition de /etc/openldap/slapd.conf
Le fichier /etc/openldap/slapd.conf doit tre modifier afin de spcifier le domaine et le serveur
corrects. La ligne suffix identifie le domaine pour lequel le serveur ldap fournira les informations.
Par exemple, pour le domaine ahuntsic-formres.local la ligne suivante doit apparatre :
suffix "dc=ahuntsic-formres,dc=local"
Lentre rootdn est le Nom distinctif (dn) de ladministrateur de lannuaire. Par exemple :
rootdn "cn=manager,dc= ahuntsic-formres,dc=local"
Par dfaut, le mot de passe de ladministrateur est en clair :
rootpw secret
Afin de crer un mot de passe crypt, il faut utiliser la commande slappasswd et modifier la ligne
rootpw de faon suivante :
Page 5
rootpw {CRYPT}ijFYNcSNctBYg
Dmarrage du serveur
Le dmarrage du dmon slapd saffichera laide de la commande :
service ldap start
Aprs avoir correctement configur OpenLDAP, il est possible dutiliser chkconfig ou ntsysv pour
sassurer du lancement de OpenLDAP au dmarrage.
LDIF
LDIF (LDAP Data Interchange Format) est un format de texte ASCII pour les entres LDAP. Les
fichiers qui changent des donnes avec des serveurs LDAP doivent tre de format LDIF. Une
entre LDIF ressemble l'extrait ci-dessous:
[<id>]
dn: <distinguished name>
<attrtype>: <attrvalue>
<attrtype>: <attrvalue>
<attrtype>: <attrvalue>
Toute entre peut contenir autant de paires <attrtype>:<attrvalue> que ncessaire. Une ligne
vierge indique que l'entre est termine.
Rechercher un enregistrement
La commande ldapsearch permet dinterrog un serveur LDAP. Par exemple pour visualiser tout
lannuaire, il faut taper la commande suivante :
ldapsearch x b dc=ahuntsic-formres,dc=local (objectclass=*)
Ajouter un enregistrement
La commande ldapadd permet dajouter des entres dans un annuaire LDAP. Les entres
ajout doivent tre dcrites dans un fichier texte utilisant le format LDIF. Voici un exemple de
fichier LDIF :
Page 6
dn: dc=ahuntsic-formres,dc=local
objectClass: dcObject
objectClass: organization
dc: ahuntsic-formres
o: ahuntsic-formres.local
dn: ou=staff,dc=ahuntsic-formres,dc=local
objectclass: organizationalUnit
ou: staff
dn: cn=Stephane Gill,ou=staff,dc=ahuntsic-formres,dc=local
objectClass: person
cn: Stephane Gill
sn: Gill
userPassword: allo
Exemple dutilisation de la commande ldapadd :
ldapadd x D cn=manager,dc=ahuntsic-formres,dc=local W f
fichier.ldif
Ajouter des commentaires sur le fichier et une figure de larborescence.
Modifier un enregistrement
Deux commandes sont disponibles pour modifier les entres dun annuaire :
Rfrences
RedHat Linux 9 : Guide de rfrence de RedHat Linux, RedHat Linux inc., 2003, 330 p.
OpenLDAP (http://www.funix.org/fr/linux/main-linux.php3?ref=ldap&page=menu)
LDAP (http://www.linuxplusvalue.be/mylpv.php?id=156)
Page 7