Vous êtes sur la page 1sur 9

Administration d’un Système Linux

TP 7 : Mise en place d’un serveur LDAP

Installation côté serveur


Installation de ldap.

root@centos~#: rpm -ivh


Cyrus-sasl-devel
openldap-devel
openldap
compat-openldap
openldap-clients
openldap-servers

Démarrage du service ldap.

root@centos~#: systemctl start slapd.service

Démarrage du service ldap au boot.

root@centos~#: systemctl enable slapd.service

Vérifier que le service ldap tourne sur son port.

root@centos~#: netstat -laputn | grep -i 389

Mise en place du mot de passe root.

root@centos~#: slappasswd
sortie
New password:
Re-enter new password:{SSHA}xxxxxxxxxxxxxxxxxxxx

Configuration de LDAP
Création de fichier db.ldif.
Contenu du fichier

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=id,dc=local

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadm,dc=id,dc=local

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

olcSuffix – suffixe de base de données, il s’agit du nom de domaine pour lequel le serveur
LDAP fournit les informations. Doit être changé pour le nom de domaine approprié.

olcRootDN – “root Distinguished Name (DN)”, entrée pour l’utilisateur root qui a un accès sans
restriction pour effectuer toutes les activités d’administration sur LDAP.

olcRootPW – mot de passe de l’utilisateur RootDN.

Envoyer le fichier ce configuration au serveur LDAP.

root@centos~#: ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif

Création de fichier monitor.ldif.
root@centos~#: vim monitor.ldif

contenu du fichier

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by
dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth"
read by dn.base="cn=ldapadm,dc=id,dc=local" read by * none

root@centos~#: ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif

Créer le certificat LDAP

Le certificat LDAP peut se faire grâce à openssl.

openssl req -new -x509 -nodes -out /etc/openldap/certs/id.cert.pem -


keyout /etc/openldap/certs/id.key.pem -days 365

Attribuer les droits au service ldad à ses certificats.

root@centos~#: chown -R ldap:ldap /etc/openldap/certs/*.pem

Créez le fichier certs.ldif pour configurer LDAP afin d’utiliser une communication sécurisée à


l’aide du certificat auto-signé.

dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/id.cert.pem

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/id.key.pem

Importer la configuration sur le serveur LDAP.

root@centos~#: ldapmodify -Y EXTERNAL -H ldapi:/// -f certs.ldif

Tester la configuration.

root@centos~#: slaptest -u

Configuration de la base de donnée LDAP


Le fichier de configuration de base de données d’exemple est une bonne base.

root@centos~#: cp /usr/share/openldap-servers/DB_CONFIG.example
/var/lib/ldap/DB_CONFIG

Attribution des droits de ce fichier au service ldap.

Ajoutez les schémas “cosine”, “inetorgperson” et “nis” à LDAP.

root@centos~#: ldapadd -Y EXTERNAL -H ldapi:/// -f


/etc/openldap/schema/cosine.ldif
root@centos~#: ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/openldap/schema/nis.ldif
root@centos~#: ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/openldap/schema/inetorgperson.ldif

Construire la structure de l’annuaire.

Générez le fichier base.ldif pour le domaine.

root@centos~#: vim base.ldif

contenu du fichier
dn: dc=id,dc=local
dc: id
objectClass: top
objectClass: domain

dn: cn=ldapadm ,dc=id,dc=local


objectClass: organizationalRole
cn: ldapadm
description: LDAP Manager

dn: ou=People,dc=id,dc=local
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=id,dc=local
objectClass: organizationalUnit
ou: Group

Ajouter la structure du répertoire à l’annuaire.

root@centos~#: ldapadd -x -W -D "cn=ldapadm,dc=id,dc=local" -f


base.ldif

Créer une nouvelle entée:

Créer un fichier LDIF pour un nouvel utilisateur : ali.

root@centos~#: vim ali.ldif

contenu du fichier

dn: uid=ali,ou=People,dc=id,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: ali
uid: ali
uidNumber: 9999
gidNumber: 100
homeDirectory: /home/ali
loginShell: /bin/bash
gecos: ali [Admin (at) id]
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7

Utiliser la commande ldapadd avec le fichier précédemment pour créer le nouvel utilisateur “ali”


dans le répertoire OpenLDAP.

root@centos~#: ldapadd -x -W -D "cn=ldapadm,dc=id,dc=local" -f


ali.ldif

Modification du mot de passe de ali:

root@centos~#: ldappasswd -s nouveau-mot-de-passe -W -D


"cn=ldapadm,dc=id,dc=local" -x "uid=ali,ou=People,dc=id,dc=local"

Détail de la commande ldappasswd.

Option Description
-s mot de passe pour le nom d’utilisateur

-x nom d’utilisateur pour lequel le mot de passe est changé

-D nom distinctif pour l’authentification auprès du serveur LDAP


Option Description
-W Demander le mot de passe (root pas celui de l’utilisateur en cours
de modification) au prompt au lieu de spécifier le mot de passe
sur la ligne de commande.

Vérifier les entrées LDAP

root@centos~#: ldapsearch -x cn=ali -b dc=id,dc=local

sortie

# extended LDIF
#
# LDAPv3
# base <dc=id,dc=local> with scope subtree
# filter: cn=ali
# requesting: ALL
#

# ali, People, id.local


dn: uid=ali,ou=People,dc=id,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: ali
uid: ali
uidNumber: 9999
gidNumber: 100
homeDirectory: /home/ali
loginShell: /bin/bash
gecos: ali [Admin (at) id]
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
userPassword:: e1NTSEF9amRiOEVGMXNaVnJab2JhVE1jQVNYNzNZM21DODdoSXI=

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Supprimer une entrée de LDAP.


root@centos~#: ldapdelete -W -D "cn=ldapadm,dc=id,dc=local"
"uid=ali,ou=People,dc=id,dc=local"

Arrêter le pare-feu .

root@centos~#: systemctl stop firewalld.service

Installation côté client


Installer des packets LDAP client.

root@centos~#: rpm -ivh openldap-clients nscd nss-pam-ldapd

Ajouter la machine client au serveur LDAP pour une connexion unique.

root@centos~#: authconfig --enableldap --enableldapauth --


ldapserver=192.168.1.210 --ldapbasedn="dc=id,dc=local" --
enablemkhomedir --update

Redémarrer le service ldap client.

root@centos~#: systemctl restart nslcd

La commande getent permet d’obtenir les entrées LDAP du serveur LDAP.


root@centos~#: getent passwd ali

sortie

ali:x:9999:100:ali [Admin (at) id]:/home/ali:/bin/bash

Essayer d’ouvrir une session en tant que ali dans la machine cliente

Vous aimerez peut-être aussi