Les fichiers de configuration du serveur

Il faut bien identifier les objets à référencer et les objectifs de l'annuaire. Les fichiers sont dans "/etc/openldap".

Le premier fichier est "sldapd.conf" qui décrit les principaux paramètres de votre annuaire :

 
# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.6 2001/04/20 23:32:43 kurt Exp $
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
# Inclusion des schémas nécessaires
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema

# Options que vous pouvez modifier 
#pidfile        //var/run/slapd.pid
#argsfile       //var/run/slapd.args

#######################################################################
# ldbm database definitions
#######################################################################
# Choix du format de base de données pour le stockage des informations.
database        ldbm

# Configurer le suffixe (racine) de l'annuaire 
# en fonction du domaine  DNS
suffix          "dc=my-domain,dc=com"
# ou d'une autre organisation
#suffix         "o=My Organization Name,c=US"

# L'administrateur de l'annuaire
rootdn          "cn=Manager,dc=my-domain,dc=com"

# Le mot de passe de l'administrateur, préférer une option cryptée
# La commande htpasswd peut très bien faire l'affaire pour encrypter

# rootpw                secret
# rootpw                {crypt}ijFYNcSNctBYg


# Emplacement de la base de données
directory       /var/lib/ldap

# Création des index. 
# Comme pour une base de données, indexer les rubriques
# les plus utilisées.

index   objectClass,uid,uidNumber,gidNumber,memberUid   eq
index   cn,mail,surname,givenname                       eq,subinitial

# La réplication ne sera  pas utilisée ici
# Vous pouvez répliquer tout ou partie d'un arbre
# activée par le daemon slurpd

# Directives de replication
# sinon les mettre dans un fichier à part et utiliser
# replogfile /chemincomplet/du/fichier

# Indiquer quels sont les serveurs réplicats
# et la méthode d'authentification
# Ici le serveur local, se répliquera sur ldap1

#replica host:ldap-1.example.com:389 
#       bindmethod=simple
#       binddn="cn=replicat_slave1, dc=mydomain, dc=fr"
#       credential=UnMotDePasse

# Accés par défaut sur la base
defaultaccess read

Protéger ensuite le fichier avec un "chmod 600 /etc/openldap/slapd.conf".

Les autorisations d'accès nécessitent une remarque.

Ici l'accès par défaut est "read", mais il est possible d'affiner. Par exemple avec des règles d'écriture comme:

 
access to <what> [ by <who> <none | compare | search | read | write>]
# Donne un accés en écriture pour le manager du domaine
access to * by dn="cn=Manager,dc=mydomain,dc=fr" write
# Donne un accés en lecture à tout le monde sur la base
access to * by * read
# Donne un accés en écriture sur un attribut pour le manager
#                en lecture pour les autres.
access to attr=uid 
                  by dn="manager,dc=mydomain,dc=fr" write
                  by * none

Pour configurer un réplicat, procédez comme suit :

 
# Configurez le fichier slrupd.conf du réplicat
# Ajoutez les options updatedn
# Le dn replicat_slave1 doit être identique à celui déclaré sur le maître.
rootdn ="cn=replicat_slave1, dc=mydomain, dc=fr"
rootpw=UnMotDePasse
updatedn = "cn=replicat_slave1, dc=mydomain, dc=fr"
    

Le nombre d'options est très important, utilisez la commande "man slapd.conf".