Linux:Installation Configuration OpenLDAP
EN COURS DE REDACTION
Cette documentation présente le cas d'utilisation d'OpenLDAP pour un annuaire servant de carnet d'adresse. Il n'y a pas de points sur l'authentification.
Sommaire |
Présentation
- Le dn ou distinguishedName est le nom distinctif d'une entité dans un annuaire LDAP. Pour un utilisateur par exemple, le dn est du type cn=IdentifiantUtilisateur,dc=dj-j,dc=net. cn est le common name et dc est un domain component.
- Les ports utilisés par LDAP sont 389 et 636 pour LDAPs. Attention le port utilisé par LDAP avec le cryptage TLS est 389 et non pas 636. Le protocole est quant à lui TCP.
Installation
apt-get install ldap-utils ldapscripts slapd
L'installation va configurer le serveur LDAP en vous posant des questions. Les paramètres seront modifiés ensuite et la base recréée.
Configuration
Fichier de configuration principal /etc/ldap/slapd.conf
Pour autoriser la connexion en version 2 pour d'ancien client, dé-commenter :
#allow bind_v2
Inclure les schema de définition, suffisant pour un carnet d'adresses :
include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema
Toutes les options avant la première occurence de database sont globales au server.
Configuration de la base :
database bdb
Indiquer la base de l'annuaire, généralement le nom de domaine (dj-j.net dans mon cas) :
suffix "dc=dj-j,dc=net"
Indiquer le nom du super utilisateur de l'annuaire, généralement nommé root, il faut indiquer le "dn" :
rootdn "cn=root,dc=dj-j,dc=net"
Puis le mot de passe généré avec la commande : slappasswd -h SSHA
rootpw {SSHA}...................
Où se situe les fichiers de la base, (les droits doivent être positionné pour l'utilisateur du daemon slapd)
directory "/var/lib/ldap"
Droits d'accès à l'ou des contacts dans l'annuaire :
access to dn.subtree="ou=contacts,dc=dj-j,dc=net"
by dn="cn=contactadmin,dc=dj-j,dc=net" write
by * read
Générer une base vide
Partons sur une base vide :
- /etc/init.d/slapd stop
- rm -fR /var/lib/ldap/*
- /etc/init.d/slapd start
La base vide est reconstruite au démarrage.
Importer des premières données
A partir d'un fichier contenant des données au format LDIF, nous allons créer l'organisation de base, l'ou pour les contacts, l'admin des contacts (voir droits d'accès) et un premier contact :
dn: dc=dj-j,dc=net
dc: dj-j
objectClass: dcObject
objectClass: top
objectClass: organization
o: Dj-j.net
dn: ou=contacts,dc=dj-j,dc=net
ou: contacts
objectClass: organizationalUnit
dn: cn=contactadmin,dc=dj-j,dc=net
objectClass: top
objectClass: person
cn: contactadmin
sn: contactadmin
userPassword: {SSHA}....................
description: Admin des contacts
dn: cn=Jerome Lemaire,ou=contacts,dc=dj-j,dc=net
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
o: dj-j.net
sn: Lemaire
givenName: Jerome
mail: adresse@domaine
cn: Jerome Lemaire
labeledURI: http://www.dj-j.net
Importer le fichier :
ldapadd -x -D "cn=root,dc=dj-j,dc=net" -W -f fichier.ldif
Sauvegarde
slapcat -l /var/backups/ldap-djjnet.ldif -b "dc=dj-j,dc=net"

