You are on page 1of 7

Systmes Informatiques & Logiciels (SIL-S5)

Administration Systmes UNIX


Prof. : M. BENADDY
AU : 2014/2015

Srie TP N 3
ServeurOpenLDAP:
OpenLDAP estunlogiciel(projet)libresous licenceOpenLDAP PL(OpenLDAPPublic
Licence:http://www.openldap.org/license.html).LafondationOpenLDAPsupporteleprojet
OpenLDAPquiestcreparlasocitNetBoolean:fournisseurdeservicesprofessionnels
delamessagerieen1998,quiestaussilanne(moisdaot)desortiedelaversion(1.0)
dOpenLDAP.En2000laversion2.0voielejour,offrantlesupportdeLDAPv3(RFC4510).
LaversionactuellementstabledeOpenLDAPestlaversion2.4.xsortieen2007.
Remarque:
Pour davantages dinformations sur le projet OpenLDAP visiter les liens suivants (en
Anglais):
Siteduprojet:http://www.openldap.org
Historiquedesversions:http://www.openldap.org/software/roadmap.html
Historiqueduprojet:http://www.openldap.org/conf/oddsfo2003/keynote.html

Avantl'installation:
L'installationdeslapdvacreruneconfigurationfonctionnelle.Plusprcismentunebasede
donnesseracrepourystockervosdonnes.Lesuffix(lerootDNoubaseDN)decette
instancevatrecrpartirdunomdedomainedelamachine(serveur).Parlasuitenous
allons travailler avec un suffix de la forme ''dc=fpo,dc=ac,dc=ma''. Pour cela diter le
fichier/etc/hostsildoitcontenirleslignessuivante(remplacerubuntuserverparlenomde
votremachine).

Installation
ilestpossibledinstallerOpenLDAPparlintermdiairedespaquetsbinairesfournisparune
distributionLinux,ouencompilantlessources.Linstallationviaestfortementconseillecar
ellefacilitlatchedemaintenancedulogicielparlasuite.

Lesoutilsclientssontfournisdansdespaquetssparsdesoutilsserveur.Icionpropose
dinstaller les deux sur la mme machine. A noter que ce nest pas le cas dans un
environnementdeproductionolesclientsvontagirdistancedepuisdautresmachines.Sur
ladistributionUbuntu(Debianetdirive),lespaquetsinstallersont:slapd(deamonldap)et
ldaputils(utilitairesdegestiontraditionnelsdeLDAP).Pourlesinstallertaperlacommande
suivanteentantroot:
#aptgetinstallslapdldaputils
Unefentreenmodetextevaapparatreetvousdemandelasaisiedumotdepasse
dadministrationdelannuaire,indiqueralorsunmotdepasseretenir(maisonpeutle
changerparlasuite).
LesoutilsfournisparOpenLDAP
OpenLDAPfournitunserveurLDAPetdescommandesclientesquipermettentdemanipuler
lesinformationscontenuesdanslannuaire.
Commandesserveur:
Lepaquetslapdfournitlescommandessuivantes:
#dpkgLslapd|grepbin

LescommandescidessoussontexcutersurleserveurofonctionneOpenLDAP.Car
cellecipermettentdagirdirectementauniveauduserveur,notammentsabasededonnes.
Dmons:

slapd:ledmonOpenLDAP
slurpd:ledmonderplication

Commandesdemanipulationdelabase(backend)greparOpenLDAP

slapindex:crelesindexauseindelabase

slapcat:effectueundump(unecopieintgrale)delabase
slapadd:ajoutedesentresLDIFdanslabase
slappasswd:utilitairedeconversiondemotsdepasse
slapauth:testelesparamtresdeconnexion(authz)
slapschema:vrifielaconformitdesschmasdelabasededonnes
slapacl:testlesACLs

Commandesdetest/validation:

slaptest:testelavaliditdufichierdeconfigurationslapd.conf
slapdn:testelaconformitd'unDNdonnenlignedecommande

Lescommandesclientes
ldaputilsfournitlescommandessuivantes:
#dpkgLldaputils|grepbin

ChacunedecescommandesclientesutiliseleprotocoleLDAPpouragirsurlannuaire.Alors
cescommandespeuventtreutilisesdistance,cdquellesagissententantquunclient
LDAP.Ilestsignaleraussiquilexistedesclients(graphiques).

ldapsearch:effectueunerechercheauseindel'annuaire
ldapadd:ajouteuneentre
ldapdelete:supprimeuneentre
ldapmodify:modifieuneentre(ajoute/suppr.unattribut,ajoute/suppr.une
entre,...)
ldapmodrdn:modifielerdnd'uneentre(renommeuneentre)
ldappasswd:modifielemotdepassed'uneentreLDAP
ldapwhoami:afficheavecquelutilisateurlebindingaeulieu
ldapcompare:permetdecomparerl'attributd'uneentreunevaleurspcifie
ldapurl:affichel'urlduserveurldap.
ldapexop:oprationsetenduesdeldap.

ConfigurationdeOpenLDAP:
Pardfautslapdestconfiguravecdesoptionsminimalesncessairespourexcuterledmon
slapd.

Dansl'exempledeconfigurationprsentdanslessectionssuivantes,lenomdedomainedu
serveurdoitcorrespondreavecceluidevotremachine.Parexemple,lamachinedontlenom
de domaine qualifi (FQDN) est ubuntuserver.fpo.ac.ma, le suffixe par dfaut sera
dc=fpo,dc=ac,dc=ma.

PeuplementLDAP
OpenLDAP utilise un rpertoire (/etc/ldap/slpad.d) distinct qui contient le rpertoire
cn=config quiestlerpertoiredel'arbred'information,del'anglais"DirectoryInformation
Tree"(DIT).LeDITcn=configestutilispourconfigurerdynamiquementledmonslapd,
permettant la modification des dfinitions de schma, des index, etc sans interruption de
service.
Ledorsalcn=configaseulementuneconfigurationminimalepardfautetabesoind'options
deconfigurationsupplmentairesafindepeuplerlefrontal.Leschmafrontalserarempli
avecunschmadit"classique"quiseracompatibleaveclesapplicationsdecarnetd'adresses
etaveclescomptesUnixPosix.LescomptesPOSIXpermettentl'authentificationdiverses
applications, telles que les applications web, email Mail Transfer Agent (MTA)
d'applications,etc.

Inspectionpostinstallation
Leprocessusd'installationmetenplace2DIT.Unpourslapdconfigetunpourvospropres
donnes(dc=fpo,dc=ac,dc=ma).Jetonsyuncoupdil.
Labasededonnesslapdconfig/DITestbasesurLDIFetrsidedans
/etc/ldap/slapd.d:
/etc/ldap/slapd.d/
/etc/ldap/slapd.d/cn=config
/etc/ldap/slapd.d/cn=config/cn=module{0}.ldif
/etc/ldap/slapd.d/cn=config/cn=schema
/etc/ldap/slapd.d/cn=config/cn=schema/cn={0}core.ldif
/etc/ldap/slapd.d/cn=config/cn=schema/cn={1}cosine.ldif
/etc/ldap/slapd.d/cn=config/cn=schema/cn={2}nis.ldif
/etc/ldap/slapd.d/cn=config/cn=schema/cn={3}inetorgperson.ldif
/etc/ldap/slapd.d/cn=config/cn=schema.ldif
/etc/ldap/slapd.d/cn=config/olcBackend={0}hdb.ldif
/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
/etc/ldap/slapd.d/cn=config/olcDatabase={1}frontend.ldif
/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif
/etc/ldap/slapd.d/cn=config.ldif

Remarque:
N'essayez pas de modifier la base de donnes slapdconfig directement. Effectuez des
modificationsvialeprotocoleLDAP(utilitaires).
VoicicequoiressembleleDITslapdconfigavecleprotocoleLDAP:

Explicationdesentres:
cn=config:paramtresdeconfigurationglobauxdeslapd
cn=module{0},cn=config:unmodulechargdynamiquement
cn=schema,cn=config:contientunensembledeschmafournitpardfautavecle
systme
cn={0}core,cn=schema,cn=config:l'ensembledesobjetsdontOpenLDAPabesoin
cn={1}cosine,cn=schema,cn=config:leschmacosine
cn={2}nis,cn=schema,cn=config:leschmanis
cn={3}inetorgperson,cn=schema,cn=config:leschmainetorgperson
olcBackend={0}hdb,cn=config:lebackend'hdb'pourlestockagedetypehdb.
olcDatabase={1}frontend,cn=config:labasdedonnesfrontend,lesparamtrespar
dfautd'autresbasesdedonnes.
olcDatabase={0}config,cn=config:basededonnesdeconfigurationslapd
(cn=config)
olcDatabase={1}hdb,cn=config:votreexempledebasededonnes
(dc=fpo,dc=ac,dc=ma)
VoiciquoiressembleleDITdedc=fpo,dc=ac,dc=ma:

Explicationdesentres:
dc=fpo,dc=ac,dc=ma:baseduDIT
cn=admin,dc=exemple,dc=com:administrateur(rootDN)pourceDIT(misenplace
lorsdel'installationdupaquet)

Remplissagedevotrebasededonnes
Introduisonsunpeudecontenudansnotrebasededonnes.Nousallonsajoutercequisuit:
unnudappelUtilisateurs(pourstockerlesutilisateurs)

unnudappelGroupes(pourstockerlesgroupes)
ungroupeappelAdministrateurs(pourstockerlesadministrateurs)
unutilisateurappelAhmedBen(danslegroupeAdministrateurs)
CrezlefichierLDIFsuivantetappelezleadd_content.ldif:
dn:ou=Utilisateurs,dc=fpo,dc=ac,dc=ma
objectClass:organizationalUnit
ou:Utilisateurs
dn:ou=Groupes,dc=fpo,dc=ac,dc=ma
objectClass:organizationalUnit
ou:Groupes
dn:cn=Administrateurs,ou=Groupes,dc=fpo,dc=ac,dc=ma
objectClass:posixGroup
cn:Administrateurs
gidNumber:5000
dn:uid=AhmedBen,ou=Groupes,dc=fpo,dc=ac,dc=ma
objectClass:inetOrgPerson
objectClass:posixAccount
objectClass:shadowAccount
uid:AhmedBen
sn:Ben
givenName:Ahmed
cn:AhmedBen
displayName:AhmedBen
uidNumber:10000
gidNumber:5000
userPassword:ahmedBenldap
gecos:AhmedBen
loginShell:/bin/bash
homeDirectory:/home/ahmedBen

Ajouterlecontenu:

Remarqueimportante:
Pour viter toute confusion avec les uid et gid du systme local. Utilisez des valeurs
suprieurescommenantparexemplepartirde5000.aveccesvaleurssuprieuresdesuid
et gid de ldap, vous vous simplifier la tche d'administration de celleci et vous pouvez
contrlerfacilementlesuidetgidlocauxetceuxdeldap.
Nouspouvonsvrifierquel'informationatcorrectementajouteavecl'utilitaireldapsearch:

Explication:
Laliaisonsimplex:;n'utiliserapaslamthodeSASLpardfaut

LLL:dsactivelesinformationsexternesd'impression
uid=AhmedBen:unfiltrepourtrouverl'utilisateurAhmedBen
cngidNumber:demandel'affichagedecertainsattributs(lavaleurpardfautfaits'afficher
touslesattributs)

You might also like