«

»

Juil 11 2015

[Tuto] Installer et configurer OpenLDAP sous CentOS

Bonjour à tous,

Dans ce nouveau tutoriel, nous allons voir comment mettre en place un simple annuaire LDAP afin de stocker des utilisateurs.

Installation de OpenLDAP

Sur une machine CentOS utilisez Yum pour installer les paquets nécessaires.

yum -y install openldap openldap-clients openldap-servers

Une fois l’installation terminé il faut créer le mot de passe de l’utilisateur qui va administrer notre serveur LDAP avec la commande slappasswd.

slappasswd
New password:
Re-enter new password:
{SSHA}IzTO4Fr/u96D8+WVtWeT+25ddbgMnecx

Copiez le mot de passe quelque part, vous en aurez besoins.
Maintenant nous allons configurer OpenLDAP.

Nous allons commencer par éditer le fichier olcDatabase\=\{2\}bdb.ldif se trouvant dans le dossier /etc/openldap/slapd.d/cn\=config

vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif

Trouvez les lignes suivantes et éditez pour reflétez le nom de domaine que vous souhaitez.

olcSuffix: dc=my-domain,dc=com
olcRootDN: cn=Manager,dc=my-domain,dc=com

olcRootDN est le DN de l’utilisateur qui va administrer OpenLDAP, et en dessous de « olcRootDN« , rajoutez une ligne afin de configurer le mot de passe de cet utilisateur avec la variable « olcRootPW« .

Dans mon cas voici a quo cela ressemble:

olcSuffix: dc=ldap,dc=test
**
olcRootDN: cn=ldapadmin,dc=ldap,dc=test
olcRootPW: {SSHA}IzTO4Fr/u96D8+WVtWeT+25ddbgMnecx
**

Maintenant, nous allons éditer le fichier olcDatabase\=\{1\}monitor.ldif se trouvant dans le même dossier et éditez la ligne olcAccess: **** afin de refléter vos changements.

vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

Voici à quoi ressemble la ligne:

olcAccess: {0}to *  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=externa
 l,cn=auth" read  by dn.base="cn=ldapadmin,dc=ldap,dc=test" read  by * none

Une fois ce fichier modifier la configuration initiale de OpenLDAP est terminée.

Tapez les deux commandes suivantes afin de lancer automatique OpenLDAP au démarrage du serveur et pour le démarrer.

chkconfig slapd on
service slapd start

Maintenant, nous allons initialiser notre annuaire LDAP avec les entrées nécessaire a son bon fonctionnement:

Créez un fichier base.ldif avec le contenu suivant:

dn: dc=ldap,dc=test
objectclass: dcObject
objectclass: organization
o: ldap
dc: ldap

dn: cn=ldapadmin,dc=ldap,dc=test
objectclass: organizationalRole
cn: ldapadmin
 

Puis tapez la commande suivante afin de pousser les changements dans le serveur LDAP.

ldapadd -D cn=ldapadmin,dc=ldap,dc=test -W -f base.ldif
Enter LDAP Password:
adding new entry "dc=ldap,dc=test"

adding new entry "cn=ldapadmin,dc=ldap,dc=test"

Configuration des OU, Groupes et Utilisateurs.

Toutes modifications dans l’annuaire LDAP vont utiliser des fichier .ldif, ces fichier permettent de créer des entrées, les modifier et les supprimer.

Dans cet exemple, je vais créer une OU peoples, avec un groupe users et un utilisateur John DOE membre de ce groupe, le tout va être configuré dans un seul fichier LDIF appelé AddEntry.ldif

dn: ou=peoples,dc=ldap,dc=test
objectClass: organizationalUnit
ou: Peoples

dn: uid=jdoe,ou=peoples,dc=ldap,dc=test
cn: John Doe
sn: John
objectClass: inetOrgPerson
userPassword: password123
uid: jdoe

dn: cn=users,ou=peoples,dc=ldap,dc=test
cn: Users
objectClass: groupOfUniqueNames
uniqueMember: uid=jdoe,ou=peoples,dc=ldap,dc=test

Rajoutez les entrées dans notre annuaire LDAP avec la commande suivante:

ldapadd -D cn=ldapadmin,dc=ldap,dc=test -W -f AddEntry.ldif
Enter LDAP Password:
adding new entry "ou=peoples,dc=ldap,dc=test"

adding new entry "uid=jdoe,ou=peoples,dc=ldap,dc=test"

adding new entry "cn=users,ou=peoples,dc=ldap,dc=test"

Et voila tout est OK !

Vous pouvez vérifier que toutes vos entrées sont dans le LDAP avec la commande ldapsearch suivante:

ldapsearch -x -LLL -b dc=ldap,dc=test
dn: dc=ldap,dc=test
objectClass: dcObject
objectClass: organization
o: ldap
dc: ldap

dn: cn=ldapadmin,dc=ldap,dc=test
objectClass: organizationalRole
cn: ldapadmin

dn: ou=peoples,dc=ldap,dc=test
objectClass: organizationalUnit
ou: Peoples

dn: uid=jdoe,ou=peoples,dc=ldap,dc=test
cn: John Doe
sn: John
objectClass: inetOrgPerson
userPassword:: cGFzc3dvcmQxMjM=
uid: jdoe

dn: cn=users,ou=peoples,dc=ldap,dc=test
cn: Users
objectClass: groupOfUniqueNames
uniqueMember: uid=jdoe,ou=peoples,dc=ldap,dc=test

Tester a connexion a LDAP

Maintenant nous allons tester si John DOE peut se connecter à LDAP avec ses identifiants:

Si vous êtes sous Windows, installer JXeplorer qui est un explorateur LDAP facile a utiliser.

vous pouvez le télécharger ici: http://jxplorer.org/

Une fois le logiciel installé connectez vous a votre annuaire LDAP comme ceci:

Connexion au LDAP

Connexion au LDAP

Une fois connectez, vous devriez voir l’arborescence de notre annuaire LDAP créer.

Arboresence

Arborescence

 

Pour le reste je vous conseil de vous plonger dans la documentation de LDAP si vous souhaitez aller plus loins.

(1 commentaire)

  1. Ndiaye Waly

    Ça a été un très bon apprentissage de ma part..
    Merci pour ce bon tuto…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire les articles précédents :
[Tuto] IAM: Installer Siteminder Policy Server sur CentOS 6 et son Admin UI

Bonjour à tous dans ce tutoriel, je vais vous montrer comment installer le Policy Server de Siteminder sous CentOS6.

Fermer