Bonjour à tous,
Dans ce nouveau tutoriel, nous allons voir comment mettre en place un simple annuaire LDAP afin de stocker des utilisateurs.
Notice
Ce tutoriel a été réalisé sous CentOS 6.6 32 bits.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:
Une fois connectez, vous devriez voir l’arborescence de notre annuaire LDAP créer.
Pour le reste je vous conseil de vous plonger dans la documentation de LDAP si vous souhaitez aller plus loins.
(13 commentaires)
Passer au formulaire de commentaire
Bonjour, je voudrais savoir comment fait-on pour masquer un numéro sous asterisk ?
Hi Deni
everything will be fine
bonsoir jai un soucis avec mon openldpa jevais ajouter les groups a ma base.ldif jai cette erreur
sudo ldapadd -x -W -D « cn=Manager,dc=itgstore,dc=lab » -f /home/itgstore/groups.ldif
Enter LDAP Password:
adding new entry « cn=,ou=Group,dc=itgstore,dc=lab »
ldap_add: Invalid DN syntax (34)
additional info: invalid DN
besoin d’aide s’il vous plait
quelqu’un peut m’aider pour resoudre ce probleme :adding new entry « ou=peoples,dc=ldap,dc=test »
ldap_add: Undefined attribute type (17)
additional info: dn: attribute type undefined
or que j’ai bien laissé une ligne vide avnt chaque dn
merci d’avance
Salut smail,
Le problème vient de l’attribut uniqueMember, qui n’est pas présent de base dans openldap, essai plutôt memberUid
Voila :)
salut
s ‘ils vous plait comment installer freediameter et ses paquets sous centOS 6.8
Bonjour,
je rencontre un soucis lors du passage de la commande ldapadd:
Enter LDAP Password: (je tape mon password)
ldap_bind: Invalid credentials (49)
J’ai pourtant bien renseigné le password crypté comme indiqué sur le tuto…
salut LdapUser,
Le problème vient de l’utilisateur ldapadmin quand tu exécute cette commande: ldapadd -D cn=ldapadmin,dc=ldap,dc=test -W -f base.ldif
en fait, dans le fichier de config nous avons défini un Manager, essai ça:
ldapadd -D cn=Manager,dc=ldap,dc=test -W -f base.ldif
Voila :)
Bonjour,
Je souhaiterait savoir si il y a un danger a mettre un LDAP sur le serveur Wan afin d’unifier différents services (mail, owncloud…)
Merci pour le blog :)
There may be many things I can do, but my primary resibnsioilpty is to raise my children to be productive members of society so they don’t contribute to the problem. I realize it doesn’t cover everything, but it is the least I can do.References : Was this answer helpful?
s’il vous plaît comment utiliser open ldap dans vsftpd pour s’authentifier
Your hair looks great in that smoothie photo! The photo of Livi and her tatarabuela is so nice. It’s so great for so many generations to be able to meet each other!
Ça a été un très bon apprentissage de ma part..
Merci pour ce bon tuto…