Sunteți pe pagina 1din 7

Service d'annuaire LDAP

Stphane Gill
Stephane.Gill@CollegeAhuntsic.qc.ca

Table des matires


Introduction

Dfinitions

Installation dOpenLDAP

Fichiers de configuration

Mise en place du schma dannuaire

Configuration du serveur OpenLDAP

dition de /etc/openldap/slapd.conf

Dmarrage du serveur

LDIF

Rechercher un enregistrement

Ajouter un enregistrement

Modifier un enregistrement

Rfrences

Document crit par Stphane Gill


Copyright 2004 Stphane Gill
Ce document est soumis la licence GNU FDL. Permission vous est donne de distribuer et/ou modifier des copies de
ce document tant que cette note apparat clairement.

Service d'annuaire LDAP

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 :

des donnes sur les employs dune entreprise;

des donnes sur des produits;

ou des donnes sur les utilisateurs dun rseau.

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.

Copyright 2004 Stphane Gill

Page 2

Service d'annuaire LDAP

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 structurel : classes d'objets concrets de l'annuaire (personnes, groupes de


personnes, ...).

type auxiliaire : classes d'objets permettant dajouter des informations (attributs)


supplmentaires des classes d'objet de type structurel dj existantes.

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.

Deux dmons sont contenus dans le paquetage openldap-servers :

/usr/sbin/slapd : serveur autonome ldap;

/usr/sbin/slurpd : serveur de rplication ldap.

Outre les paquetages OpenLDAP, RedHat Linux comprend un paquetage nomm nss_ldap. Les
librairies contenues dans ce paquetage permettent dutiliser LDAP pour lauthentification des

Copyright 2004 Stphane Gill

Page 3

Service d'annuaire LDAP

utilisateurs. Il existe des clients ldap graphiques qui supporte la cration et la modification
dentres. Voici quelques exemples :

LDAP Browser/Editor (http://www.iit.edu/~gawojar/ldap);

LABE (http://www.savoirfairelinux.com/labe);

GQ (http://biot.com/gq/);

kldap (http://www.mountpoint.ch/oliver/kldap/);

KdirAdm (http://www.carillonis.com/kdiradm/);

Directory Administrator (http://diradmin.open-it.org/index.php).

Certains clients LDAP ncessitent linstallation du paquetage php_ldap.

Fichiers de configuration
Les fichiers de configuration sont installs dans le rpertoire /etc/openldap/. Ci-dessous figure la
liste des fichiers et rpertoire important :

/etc/openldap/ldap.conf : Fichier de configuration pour les applications clientes qui utilise


les bibliothques.

/etc/openldap/sldap.conf : Fichier de configuration du dmon slapd.

/etc/openldap/schema/ : Rpertoire contenant le schma utilis par le dmon slapd.

Mise en place du schma dannuaire


Le rpertoire /etc/openldap/schema/ contient la dfinition du schma utilis par LDAP. Les
dfinitions du systme dattribut et de dfinition de classe dobjet sont places dans des fichiers
diffrents. Ces derniers sont rfrencs dans le fichier /etc/openldap/sldap.conf laide de
linstruction include. Voici un extrait de ce fichier :
# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.4 2000/08/26
17:06:18
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /usr/share/openldap/schema/core.schema

Copyright 2004 Stphane Gill

Page 4

Service d'annuaire LDAP

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.

Configuration du serveur OpenLDAP


Cette configuration prsente de faon succincte les tapes accomplir pour configurer un
annuaire OpenLDAP.

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 :

Copyright 2004 Stphane Gill

Page 5

Service d'annuaire LDAP

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 :

Copyright 2004 Stphane Gill

Page 6

Service d'annuaire LDAP

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 :

ldapmodify : Modifie les entres dans un rpertoire LDAP;

ldapdelete : Supprime des entres dans un rpertoire LDAP.

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)

Copyright 2004 Stphane Gill

Page 7

S-ar putea să vă placă și