TP OpenLDAP Sur Centos 6.5
TP OpenLDAP Sur Centos 6.5
TP OpenLDAP Sur Centos 6.5
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
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
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
Migration manuelle :
Elies Jebri Page 3 sur 6
TP LDAP
Ajouter la base dans votre annuaire ldap
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 :
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