Vous êtes sur la page 1sur 8

TP – OpenLDAP

1. Installation et configuration du Serveur LDAP :


1.1 Désactivation de SELINUX:
IL est conseillé de désactiver selinux afin d’éviter tous genres de problèmes ultérieurement.
Éditez le fichier /etc/sysconfig/selinux et le modifiez comme suit :

SELINUX=disabled

Pour une configuration provisoire tapez :

# setenforce 0

1.2 Installation d’OpenLDAP:


Mettre à jour vos dépôts puis installer les deux packages openldap-servers et openldap-clients
en ligne.
# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -Uvh epel-release-6*.rpm
# yum -y install openldap-servers openldap-clients

1.3. Configuration d’OpenLDAP :


Copiez ces deux fichiers de la manière suivante :
#cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

Par la suite, il faut générer le mot de passe d’administration d’Openldap et copier le résultat
dans le fichier de configuration /etc/openldap/slapd.conf.
# slappasswd
New password:
Re-enter new password:
{SSHA}K3LiW82ldeDNgqruHlJJH1O89OwwH52o

p. 1
Le fichier de configuration d’OpenLDAP :
######################################################################
# database definitions
######################################################################

database bdb
suffix "dc=esprit,dc=tn"
rootdn "cn=Manager,dc=esprit,dc=tn"
rootpw {SSHA}K3LiW82ldeDNgqruHlJJH1O89OwwH52o

1.4. Initialiser l’arborescence d’OpenLDAP :


Editez un fichier base.ldif avec les lignes suivantes :
dn: dc=esprit,dc=tn
objectClass: top
objectClass: domain
dc: esprit

dn: cn=Manager,dc=esprit,dc=tn
objectclass: organizationalRole
cn: Manager

Exécutez les commandes suivantes:


# rm -rf /etc/openldap/slapd.d/*
#slapadd -v -n 2 -l base.ldif

#chown -R ldap:ldap /var/lib/ldap


#chown -R ldap:ldap /etc/openldap/slapd.d

#slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

#chkconfig --level 235 slapd on


#/etc/init.d/slapd restart

p. 2
1.5. Installation et configuration de phpldapadmin :
C’est une interface web pour la gestion d’un annuaire OpenLDAP

#yum install phpldapadmin


#vi /etc/phpldapadmin/config.php
(Inversez le commentaire des deux lignes suivantes)
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');

# vi /etc/httpd/conf.d/phpldapadmin.conf
Allow from 127.0.0.1 192.168.0.0/16 # IPs que vous voulez autoriser
#/etc/init.d/iptables stop
# /etc/init.d/httpd restart

Accédez à l’URL http://votre_ip/phpldapadmin -> connexion -> DN admin et mot de passe :

p. 3
1.6 Insertion des données LDIF :
Editez un fichier ou.ldif
dn: ou=People,dc=esprit,dc=tn
ou: People
objectclass: top
objectclass: organizationalUnit

dn: ou=Arctic,ou=People,dc=esprit,dc=tn
ou: Arctic
objectclass: top
objectclass: organizationalUnit

dn: ou=Telecom,ou=People,dc=esprit,dc=tn
ou: Telecom
objectclass: top
objectclass: organizationalUnit

dn: ou=Group,dc=esprit,dc=tn
ou: Group
objectclass: top
objectclass: organizationalUnit

dn: ou=Computers,dc=esprit,dc=tn
ou: Computers
objectclass: top
objectclass: organizationalUnit

Pour insérer les données définies plus haut, la simple commande suivante suffit :

# ldapadd -c -x -h localhost -D "cn=Manager,dc=esprit,dc=tn" -W -f ou.ldif

-c permet de continuer sur des erreurs.


-x permet de s'affranchir de l'authentification SASL, et n'avoir qu'à spécifier le mot de passe.
-D indique le DN du compte qui se connecte.
-W fera que ldapadd demandera le mot de passe du Manager.
-f indiquera le nom du fichier LDIF à insérer.

L'arbre des données résultant est le suivant :


dc=tn
|
dc=esprit
/ | \____
/ | \
/ | \
ou=People ou=Group ou=Computers
/ / \ \
/ | | \
/ | | \
/ | | \____
/ / \ \
/ / \ \
ou=Arctic ou=SLEAM ou=Sim ou=Telecom

p. 4
1.7 Ajout d’un objet :
Editez un fichier user.ldif avec les lignes suivantes :

dn: cn=user1,dc=esprit,dc=tn
objectclass: organizationalRole
cn: user1

# ldapadd -x -D "cn=Manager,dc=esprit,dc=tn" -W -f user.ldif

1.8 Interrogation d’un annuaire peuplé :


Vérifiez à chaque fois l’apparition des utilisateurs dans l’interface de phpldapadmin et en
ligne de commande avec la commande :

# ldapsearch -x -D "cn=Manager,dc=esprit,dc=tn" -W –b dc=esprit,dc=tn cn=user*

1.9 Modification d’un attribut

dn: cn=user1,dc=esprit,dc=tn
changetype: modify
add: telephonenumber
telephonenumber: 555-222-8888

Pour remplacer un attribut existant, on utilise replace


Pour le supprimer on utilise delete

1.10 Attribution d’un mot de passe à un utilisateur en utilisant la commande


suivante :

# ldappasswd -x -D "cn=Manager,dc=esprit,dc=tn " -W -S "cn=user1,dc=esprit,dc=tn"

-S : permet de tapez le mot de passé de façon interactive


-s : doit être suivi par le mot de passe de l’utilisateur tapé en claire
Remarque : Si vous trouvez des soucis, utilisez la commande plutôt pour changer un mot de
passe existant.
1.11 Testez la suppression d’un utilisateur avec la commande suivante :

# ldapdelete -x -D "cn=admin, dc=esprit,dc=tn " -W "cn=user2,dc=esprit,dc=tn"

p. 5
1.12 Migration des utilisateurs et des groupes locaux
Nous allons utiliser l’outil de migration pour créer des fichiers LDIF pour les utilisateurs et
les groups existants qu’on va les importer dans LDAP.

# yum install migrationtools

La première étape et de configurer le domaine par défaut (esprit.tn)

# vim /usr/share/migrationtools/migrate_common.ph

# Default DNS domain


$DEFAULT_MAIL_DOMAIN = "esprit.tn";

# Default base
$DEFAULT_BASE = "dc=esprit,dc=tn";

i. Utilisateurs du fichier /etc/passwd

# /usr/share/migrationtools/migrate_passwd.pl /etc/passwd users.ldif

N.B : Pensez à ne pas importer les utilisateurs applicatifs (ftp, apache, mail …)

Une fois le fichier a été créé, on l’importe dans LDAP:


# ldapadd -x -W -D « «cn=Manager,dc=esprit,dc=tn -f users.ldif

ii. Groupes du fichier /etc/group


Même manipulation pour les groupes on utilisant le script associé :

# /usr/share/migrationtools/migrate_group.pl /etc/group groups.ldif

Une fois le fichier a été créé, on l’importe dans LDAP:


# ldapadd -x -W -D « «cn=Manager,dc=esprit,dc=tn -f groups.ldif

p. 6
2. Authentification via l'annuaire LDAP
2.1 Installation des packages LDAP nécessaires
Sur la station cliente, installez les packages nécessaires à l’authentification LDAP.

# yum install openldap-clients nss-pam-ldapd

2.2 Configuration de la résolution de noms LDAP


1- Dans le fichier /etc/nsswitch, ajoutez le mot-clé ldap aux sections passwd, group et
shadow.

passwd : files ldap


group : files ldap
shadow : files ldap

2- Afin que les résolutions de noms puissent se faire par LDAP, renseignez les paramètres
BASE et URI dans le fichier /etc/openldap/ldap.conf

BASE dc=esprit,dc=tn
URI ldap://192.168.200.128 # ip du serveur ldap

3- Vérifiez que la résolution se fait correctement, et qu’un nom d’utilisateur est bien associé
à un compte utilisateur dans l’annuaire. (Dans le cas suivant c’est l’utilisateur ldapone
créé dans l’annuaire)

4- Il nous reste qu’à modifier les paramètres PAM, pour cela il faut éditer le fichier
/etc/pam.d/system-auth à la main. Mais vu la sensibilité de cette manipulation, nous
préférons utiliser l’outil de configuration graphique (system-config-authentication) qui,
après configuration, ajoutera les champs nécessaires dans les sections correspondantes.

p. 7
Ci-dessous, deux imprimes écrans correspondants au même fichier /etc/pam.d/system-auth
avant et après configuration de l’authentification LDAP

Avant Configuration

Après Configuration

p. 8