Next Previous Contents

3. Lancement et création de la base de l'arbre

Les chemins d'accès aux fichiers changent un peu d'une version à l'autre. Les fichiers de configuration d'OpenLDAP sont dans /etc/ldap/ alors que ceux de l'Université du Michigan se placent dans /etc; pour la suite, je me baserais sur les chemins de l'Université du Michigan car j'en ai plus l'habitude.

3.1 /etc/slapd.conf

include         /etc/slapd.oc.conf
include         /etc/slapd.at.conf
schemacheck     off
database        ldbm
mode            0600
directory       /var/ldap/base/
suffix          "o=MaSociete, c=FR"
rootdn          "cn=rootdn, o=MaSociete, c=FR"
rootpw          secret

# Les index :
index           cn,sn,uid               pres,eq,approx,sub
index           objectclass             pres,eq
index           default                 none

# Les droits
defaultaccess   read
access to attr=password
        by self write
        by dn="cn=Admin, o=MaSociete, c=FR" write
        by * compare
access to attr=uid
        by dn="cn=Admin, o=MaSociete, c=FR" write
        by * none
Du fait de la présence du mot de passe dans ce fichier, il faut lui attribuer les droits 600. Le compte administrateur et le mot de passe par défaut sont : rootdn et secret; il est de très mauvais goût de le laisser ainsi (Voir aussi : Mot de passe pour un autre avertissement).

3.2 Lancement

Pour lancer le serveur, rien de plus simple :

# slapd
Bien sur, il faudra créer un fichier /etc/rc.d/init.d/slapd et il y a des options mais dans un premier temps, on peut s'en passer. Les options par défauts sont :
-f /etc/slapd.conf -p 389
Une option super utile est le mode debug. "Mon serveur meurt juste après que je le lance !!" "Je lance une recherche mais je ne sais pas si mon serveur reçoit les paquets !!" ...

La réponse est slapd -d 255

Le serveur se lance mais ne passe pas en tâche de fond (background). Il affiche à l'écran tout ses paramètres et se met en attente. S'il n'arrive pas à ce lancer, il en indique la raison et sort; en général, cela viens du fichier de configuration /etc/slapd.conf.

3.3 La base

Ensuite, il faut créer la base de l'arbre. Cela ce fait en partie dans le fichier /etc/slapd.conf et par la manipulation suivante :

Il faut créer un fichier qui contient :

o=MaSociete, c=FR
objectclass=organization
o=MaSociete
description=MaSociete, Mon activité
Puis, il faut lancer une commande pour l'inclure dans l'arbre :
$ ldapadd -f /var/ldap/source/MaSociete.fr -D "cn=rootdn, o=MaSociete, c=FR"\
-w secret
Attention : Pour toutes les actions sur la base LDAP en ligne de commande, il faut fournir le mot de passe dans la commande même : Cela veux dire que le mot de passe se retrouve dans le fichier d'historique des commandes, et qu'il est aussi visible par un ps ax au moment de la commande. Il faut donc créer des scripts qui contiennent le mot de passe de façon à le cacher de la ligne de commande. Voici mon script (/usr/sbin/ldapadd.bash) :

ldapadd.bash (avec les droits 700)

#!/bin/bash
/usr/bin/ldapadd -D "cn=Admin, o=MaSociete, c=FR"\
-w secret $*
Il faut faire la même chose pour ldapmodify.

3.4 Une Unité Organisationnelle

Les unités organisationnelle (OrganizationalUnit; ou en abrégé) servent à organiser (comme leurs nom l'indique) la base. Elles penvent refléter un découpage réel (par sites, départements, sociètè, ...) ou logique (les commerciaux, les directeurs, la comptabilité, ...) :

dn: ou=siege, o=MaSociete, c=FR
objectclass: OrganizationalUnit
ou: siege
description=Siege social de MaSociete
Ensuite, on peux remplir avec des personnes, ...

3.5 Une personne

De même que pour la base, il faut créer un fichier qui contient :

dn: cn=Fabrice Rafart, ou=Siege, o=MaSociete, c=FR
objectclass: person
cn: Fabrice Rafart
uid: frafart
title: Responsable Réseau
o: Siege
ou: Informatique
mail: Fabrice.Rafart@MaSociete.fr
telephonenumber: 01-00-00-00-00
facsimiletelephonenumber: 01-00-00-00-00
l: Paris
pays: France
Puis, il faut l'entrer dans la base :
$ ldapadd.bash -f ./frafart -D "cn=rootdn, o=MaSociete, c=FR" -w secret

Next Previous Contents