Manuel d'installation du module AACLs

Ce manuel est valable pour le backend AACLs développé pour OpenLDAP 2.3.24.

Installation de base

Récupération des sources

Les sources du modules sont livrées sous forme d'archive compressée, que l'on peut se procurer à partir de la page Téléchargement, ou bien récupérer la dernière version (développement) directement par subversion :

$ svn export svn://svn.forge.objectweb.org/svnroot/interldap/AACLs/trunk/openldap-2.3.24_aacls openldap-2.3.24_aacls

Décompresser l'archive :

$ tar zxf openldap-2.3.24_aacls.tgz
$ cd openldap-2.3.24_aacls

Logiciels tiers

Flex doit être installé au préalable. Sous Debian/Ubuntu :

$ sudo apt-get install flex

Compilation

Configurer la compilation (et le répertoire d'installation), au choix, en version légère sans stockage des données (ce qui ne permettra pas de lancer les tests ni d'utiliser cette version comme annuaire LDAP de stockage) :

$ ./configure --enable-aacls --disable-bdb --disable-hdb --prefix=/opt/openldap-aacls

Ou alors pour une installation classique avec backend AACLs en supplément :

$ ./configure --enable-aacls --prefix=/opt/openldap-aacls

Compiler :

$ make depend
$ make

Tests

Tests unitaires (seulement si un backend bdb, hdb ou ldbm a été compilé) :

$ make test

Ou pour tester simplement le backend AACLs :

$ cd tests; ./run aacls; cd ..

Installation

$ sudo make install

Le programme est installé dans le répertoire /opt/openldap-aacls :

$ sudo cd /opt/openldap-aacls
$ sudo ls -la 
total 40
drwxr-xr-x 10 clement clement 4096 2006-12-06 16:53 .
drwxr-xr-x  7 clement clement 4096 2006-12-06 16:53 ..
drwxr-xr-x  2 clement clement 4096 2006-12-06 16:53 bin
drwxr-xr-x  3 clement clement 4096 2006-12-06 16:53 etc
drwxr-xr-x  2 clement clement 4096 2006-12-06 16:53 include
drwxr-xr-x  2 clement clement 4096 2006-12-06 16:53 lib
drwxr-xr-x  2 clement clement 4096 2006-12-06 16:53 libexec
drwxr-xr-x  2 clement clement 4096 2006-12-06 16:53 sbin
drwxr-xr-x  3 clement clement 4096 2006-12-06 16:53 share
drwxr-xr-x  5 clement clement 4096 2006-12-06 16:53 var

Configuration initiale

Fichier schéma

Le fichier schéma des AACLs se trouve dans le sous-répertoire etc/openldap/schema/. Il faut l'inclure au fichier de configuration principal (etc/openldap/slapd.conf):

include         /opt/openldap-aacls/etc/openldap/schema/core.schema
include         /opt/openldap-aacls/etc/openldap/schema/aacls.schema

Déclaration du backend

Toujours dans le fichier slapd.conf :

database        aacls
suffix          "dc=interldap,dc=org"

# Rootdn du backend (doit correspondre a celui de l'annuaire cible) rootdn "cn=Manager,dc=interldap,dc=org"

# Branche de stockage des AACLs base "ou=aacls,dc=interldap,dc=org"

# Adresse de l'annuaire cible uri "ldap://ldap.interldap.org:389"

# DN et mot de passe de connexion a l'annuaire cible idassert-bind bindmethod=simple binddn="cn=Manager,dc=interldap,dc=org" credentials=secret

Configuration de l'annuaire cible

Il faudra inclure le schéma des AACLs dans l'annuaire cible afin de pouvoir créer les règles d'accès avancées. Par exemple si l'annuaire cible est sous OpenLDAP, il suffit d'inclure le fichier schéma (copié depuis le mandataire AACLs) :

include         /opt/openldap/etc/openldap/schema/aacls.schema

Il faut également donner les droits d'écriture à tous, mais uniquement pour les requêtes provenant du mandataire (l'utilisation d'un pare-feu est recommandée). Pour des questions de performances, il est préférable que cette règle soit la première ACL de l'annuaire cible :

access to * by ip=IPMANDATAIRE write by * break

Reste ensuite à créer les règles d'accès étendues (voir le manuel d'utilisation des AACLs).

Lancement et arrêt du mandataire AACLs

L'annuaire cible doit être démarré auparavant. Lancement (sur le port 389 par défaut) :

$ sudo /opt/openldap-aacls/libexec/slapd

Arrêt :

$ sudo kill `cat /opt/openldap-aacls/var/run/slapd.pid`