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 :
Tests
Tests unitaires (seulement si un backend bdb, hdb ou ldbm a été compilé) :
Ou pour tester simplement le backend AACLs :
$ cd tests; ./run aacls; cd ..
Installation
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`