Page suivante Page précédente Table des matières

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

3.1 /etc/slapd.conf

include         /etc/slapd.oc.conf
mode            0600
shemacheck      on
database        ldbm
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 sur les mots de passe).

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 sans passer. Les options par défauts sont :
-f /etc/slapd.conf -p 389

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, Librairie Multimedia
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. Je pense que l'on doit pouvoir passer par un fichier shell avec des droits 700 contenant de mot de passe et prenant ces arguments sur la ligne de commande. Un fichier de commande peut-être de type :

ldapadd.bash (avec les droits 700)

#!/bin/bash
/usr/bin/ldapadd -D "cn=Admin, o=MaSociete, c=FR" -w secret $*

3.4 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 Communication Informatique
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 -f ./frafart -D "cn=rootdn, o=MaSociete, c=FR" -w secret

Page suivante Page précédente Table des matières