Vous êtes sur la page 1sur 6

TP LDAP 

TP OpenLDAP sur Centos 6.5 
 

1. Installation 
 
[root@ldap1 ~]# yum install openldap openldap-servers openldap-
clients migrationtools -y 

2. Configuration 
 Editez votre fichier ldap.conf et entrez l'adresse IP ou le nom de domaine de votre 
serveur : 
[root@ldap1 ~]# vim /etc/openldap/ldap.conf
URI ldap://X.X.X.X
BASE dc= domaine,dc=local

 Copiez les exemples de fichiers /usr/share/openldap/etc/openldap et var /lib/ldap 
[root@ldap1 ~]# cp /usr/share/openldap-servers/slapd.conf.obsolete
/etc/openldap/slapd.conf

 Création d'un nouveau mot de passe Manager LDAP: 
[root@ldap1 ~]# slappasswd
New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  

 Modifications apportées à la configuration : 
Rechercher et remplacer les lignes suivantes comme suit : 
[root@ldap1 ~]# vim /etc/openldap/slapd.conf

#TLSCACertificatePath /etc/openldap/certs
#TLSCertificateFile "\"OpenLDAP Server\""
#TLSCertificateKeyFile /etc/openldap/certs/password 

… 

Elies Jebri    Page 1 sur 6 
TP LDAP 

# enable server status monitoring (cn=monitor)

database monitor

access to *

by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read

by dn.exact="cn=Manager,dc=domaine,dc=local" read

by * none 

… 
####################################################################
# database definitions
####################################################################
database bdb
suffix "dc=domaine,dc=local"
checkpoint 1024 15
rootdn "cn=Manager,dc=domaine,dc=local"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
loglevel 256
sizelimit unlimited 

 Retirer toute configuration pré‐existante de OpenLDAP 
[root@ldap1 ~]# rm -rf /var/lib/ldap/*
[root@ldap1 ~]# rm -rf /etc/openldap/slapd.d/* 

 Copier le fichier de la base exemple DB_CONFIG vers /var/lib/ldap/ 
[root@ldap1 ~]# cp /usr/share/openldap-servers/DB_CONFIG.example
/var/lib/ldap/DB_CONFIG

 Vérifiez qu’il n’y ait pas d’erreurs de configuration : 
[root@ldap1 ~]# slaptest -u
config file testing succeeded
[root@ldap1 ~]# slapindex

   

Elies Jebri    Page 2 sur 6 
TP LDAP 

 Ignorer l'erreur de sortie de la commande 
 
[root@ldap1 ~]# chown ldap:ldap -R /var/lib/ldap
[root@ldap1 ~]# mkdir -p /etc/openldap/slapd.d

[root@ldap1 ~]# slaptest -f /etc/openldap/slapd.conf -F


/etc/openldap/slapd.d

 Ignorer l'erreur de sortie de la commande 
 
[root@ldap1 ~]# chown ldap:ldap -R /etc/openldap/slapd.d
[root@ldap1 ~]# /etc/init.d/slapd restart

 Migration des utilisateurs et groupes du système vers LDAP 
 
[root@ldap1 ~]# vi migrate_common.ph

modifier les lignes suivantes :


Sur la ligne 61, change "ou=Groups"
$NAMINGCONTEXT{'group'} = "ou=Groups";
Sur la ligne 71, change your domain name
$DEFAULT_MAIL_DOMAIN = "domaine.local";
Sur la ligne 74, change your base name
$DEFAULT_BASE = "dc=domaine,dc=local";
Sur la ligne 90, change schema value
$EXTENDED_SCHEMA = 1

 Migration manuelle : 

[root@ldap1 ~]#./migrate_base.pl > /root/base.ldif

   

Elies Jebri    Page 3 sur 6 
TP LDAP 

 Ajouter la base dans votre annuaire ldap  

[root@ldap1 ~]# ldapadd -x -D "cn=Manager,dc=domaine,dc=local" -w


motdepasse -f /root/base.ldif

 Création du fichier group.ldif à partir du fichier /etc/group 
[root@ldap1 ~]#./migrate_group.pl /etc/group /root/group.ldif

 Ajouter les groupes dans votre annuaire ldap : 
[root@ldap1 ~]# ldapadd -x -D "cn=Manager,dc=domaine,dc=local" -w
motdepasse -f /root/group.ldif

 Création du fichier passwd.ldif pour les utilisateurs : 
[root@ldap1 ~]# ./migrate_passwd.pl /etc/passwd /root/passwd.ldif

 Ajouter des utilisateurs : 
[root@ldap1 ~]# ldapadd -x -D "cn=Manager,dc=domaine,dc=local" -w
motdepasse -f /root/passwd.ldif

3. Outils client sur LDAP 
 Rechercher des infos sur un compte utilisateur dans votre annuaire ldap : 
[root@ldap1 ~]# ldapsearch -x -b "dc=domaine,dc=local" -H
ldap://127.0.0.1:389 -D "cn=Manager,dc=domaine,dc=local" -w
motdepasse -LLL "(cn=ldtest)"

 La même recherche en anonyme nous donne beaucoup moins d'information :  
[urba@test urba]$ ldapsearch -x cn=ldtest

 On recherche ici toutes les entrées ayant un attribut ou :  
[urba@test urba]$ ldapsearch -x ou=*

   

Elies Jebri    Page 4 sur 6 
TP LDAP 

Rappel : 
Nous allons ici faire des opérations logiques entre plusieurs filtres simples.  
La syntaxe générale pour un ET logique est :  
(&(filtre1)(filtre2)(...)) 
de même pour un OU logique :  
(|(filtre1)(filtre2)(...)) 
 Recherchons le cn de tous les utilisateurs du group unix 500 dont l'uid commence par 
"us" :  
[urba@test urba]$ ldapsearch -x -D "cn=Manager,dc=domaine,dc=local"
-w password (&(gidNumber=500)(uid=us*))

Nous avons fait ici un ET logique entre le filtre (gidNumber=1001) et le filtre (uid=su*).  
 

 Recherchez tous les utilisateurs appartenant au groupe 500 ou au groupe 501 et 
commençant par s :  
[urba@test urba]$ ldapsearch -x -D "cn=Manager,dc=domaine,dc=local"
-w password (&(|(gidNumber=500)(gidNumber=501))(uid=s*))

 Modification de données 
Vérifiez que : objectClass: inetOrgPerson soit une classe associée aux entrées des 
utilisateurs. 
Soit le fichier LDIF modifyEntry.ldif suivant : 
 
dn: uid=elies,ou=People,dc=domaine,dc=local
changetype: modify
add: telephonenumber
telephonenumber: (216) 999-2468
-
replace: uid
uid: liso

Elies Jebri    Page 5 sur 6 
TP LDAP 

Appliquez les modifications : 

[root@ldap1 ~]# ldapmodify -h localhost -f modifyEntry.ldif \


-D "uid=Manager,dc=domaine,dc=local" -w motdepasse

 Suppression d’une entrée : 
[root@ldap1 ~]# ldapmodify -h localhost \
-D "uid=Manager,dc=domaine,dc=local" \
-w motdepasse \
dn: uid=liso,ou=People,dc=domaine,dc=local \
changetype: delete ^D

 Modification du mot de passe d’un utilisateur : 
[root@ldap1 ~]# ldappasswd -x -w secret -D
'cn=Manager,dc=domaine,dc=local' -s secret 'uid=user,ou=People,
dc=domaine,dc=local '

Elies Jebri    Page 6 sur 6