Outils pour utilisateurs

Outils du site


openldap_sur_centos_6

Exporter la page au format Open Document

Introduction

Installer un serveur Openldap sous CentOS 6.

Version de CentOS : 6.6 en 32 bits. Installation sur VM VirtualBox.

Mise en place d'une configuration minimale de CentOS ( package Core ) et services minimaux :

  • réseau
  • ssh
  • rsyslog
for i in $(chkconfig --list | cut -f1);do chkconfig --del $i;done
chkconfig network on
chkconfig sshd on
chkconfig rsyslog on

Installation de Openldap

Utilisation classique de yum

yum -y install openldap-servers openldap-clients

La configuration de Openldap est modifiée à partir de la version 2.3. Le fichier slapd.conf n'existe plus. La configuration se fait par fichiers ldif dans le répertoire /etc/openldap/slapd.d/cn=config.

Il reste toutefois possible de configurer openldap avec un fichier slapd.conf, utile dans le cadre d'une migration.

Dans l'exemple présenté ici sera mis en place une structure type erik.local.

La connexion se fera en admin/root01.

Mot de passe

Définir le mot de passe de l'administrateur de l'annuaire LDAP. Utilisation de la commande slappasswd

slappasswd
New password:
Re-enter new password:
{SSHA}DeGPy63Jd6bfBKJlS5Ax0cTOy78UNB97

Le codage est de type SSHA, dans l'exemple il correspond à root01. Attention le codage change à chaque exécution.

Pré-requis

Dans un premier temps créer un fichier /etc/openldap/slapd.conf.

include     /etc/openldap/schema/core.schema
include     /etc/openldap/schema/cosine.schema
include     /etc/openldap/schema/inetorgperson.schema
include     /etc/openldap/schema/nis.schema

pidfile     /var/run/openldap/slapd.pid
argsfile    /var/run/openldap/slapd.args

database    bdb
suffix      "dc=erik,dc=local"
rootdn      "cn=admin,dc=erik,dc=local"
#rootpw     root01
rootpw      {SSHA}DeGPy63Jd6bfBKJlS5Ax0cTOy78UNB97
directory   /var/lib/ldap

index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

Copier la base de données exemple.

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

Très important stopper le démon slapd le cas échéant.

Supprimer la configuration actuelle

rm -rf /etc/openldap/slapd.d/*

Activer la nouvele configuration

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

Modifier les droits d'accès

chown -R ldap:ldap /var/lib/ldap
chown -R ldap:ldap /etc/openldap/slapd.d

Démarrer openldap et activer au boot.

service slapd start
chkconfig slapd on

Le démon slapd écoute sur le port 389 en tcp

netstat -ltaupen | grep slapd
tcp    0      0 0.0.0.0:389       0.0.0.0:*                   LISTEN      0          14843   874/slapd           
tcp    0      0 :::389            :::*                        LISTEN      0          14844   874/slapd

La seconde ligne correspond à IPV6.

Initialisation de l'annuaire

Dans les commandes, l'option -x permet de passer outre le cryptage SSL.

L'annuaire LDAP est structuré ainsi :

Créer le fichier erik.local.ldif suivant :

dn: dc=erik,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: ERIK
dc: erik

dn: cn=admin,dc=erik,dc=local
objectClass: top
objectclass: organizationalRole
cn: admin

dn: ou=informatique,dc=erik,dc=local
objectClass: top
objectClass: organizationalUnit
ou: informatique

dn: ou=RH,dc=erik,dc=local
objectClass: top
objectClass: organizationalUnit
ou: RH

dn: ou=compta,dc=erik,dc=local
objectClass: top
objectClass: organizationalUnit
ou: compta

Insérer les informations dans l'annuaire.

ldapadd -x -D "cn=admin,dc=erik,dc=local" -W -f erik.local.ldif

Le mot de passe ( root01 ) sera demandé. Vérification en interrogeant l'annuaire

ldapsearch -x -b dc=erik,dc=local

Ajouter une entrée

Création d'un utilisateur Alice Cooper dans l'unité informatique. Créer le fichier alice.cooper.ldif

dn: cn=Alice Cooper,ou=informatique,dc=erik,dc=local
objectClass: top
objectClass: inetOrgPerson
cn: Alice Cooper
sn: ACO

Insertion dans l'annuaire

ldapadd -x -W -f alice.cooper.ldif -D "cn=admin,dc=erik,dc=local"

Vérification par l’interrogation, l'option -b spécifie la branche de l'annuaire à interroger.

ldapsearch -x -b cn=Alice\ Cooper,ou=informatique,dc=erik,dc=local -LLL

"\" est indispensable en raison de l'espace dans le cn. L'option -LLL supprime le surplus de lignes.

Modifier une entrée

Utilisation de la commande ldapmodify. Dans cet exemple ajout d'un email au compte Alice Cooper. Création d'un fichier alice.cooper.mail.ldif

dn: cn=Alice Cooper,ou=informatique,dc=erik,dc=local
changetype: modify
add: mail
mail: alice.cooper@erik.local

Modification de l'annuaire

ldapmodify -x -W -f alice.cooper.mail.ldif -D "cn=admin,dc=erik,dc=local"

Vérification

ldapsearch -x -b cn=Alice\ Cooper,ou=informatique,dc=erik,dc=local -LLL

Finalisation de l'annuaire

Création des 3 autres entrées dans l'annuaire. Fichier autres.entrees.ldif

dn: cn=Bob Woodward,ou=RH,dc=erik,dc=local
objectClass: top
objectClass: inetOrgPerson
cn: Bob Woodward
sn: BWO
mail: bob.woodward@erik.local

dn: cn=Carmen Mota,ou=compta,dc=erik,dc=local
objectClass: top
objectClass: inetOrgPerson
cn: Carmen Mota
sn: CMO

dn: cn=Denise Richards,ou=RH,dc=erik,dc=local
objectClass: top
objectClass: inetOrgPerson
cn: Denise Richards
sn: DRI

Insertion des données

ldapadd -x -D "cn=admin,dc=erik,dc=local" -W -f autres.entrees.ldif

Conclusion

Ce document ne fait qu'effleurer la configuration de LDAP.

Article de référence :

OpenLDAP sur CentOS 6.4

Recherche dans LDAP

openldap_sur_centos_6.txt · Dernière modification: 2015/01/28 15:04 par admin