Bonsoir,
J’essaie de mettre en place un annuaire LDAP qui me permettra d’authentifier des utilisateurs Debian. Une fois les différentes configurations effectuées, l’authentification échoue. Je pense qu’il ne trouve pas les utilisateurs dans l’annuaire LDAP car lorsque j’entre un compte local il me demande le mot de passe + le mot de passe LDAP, alors que si je rentre un compte de l’annuaire, il me dit directement login incorrect.
Pour résoudre ce problème j’ai vérifié avec attention que le serveur à contacter est bien celui sur lequel se trouve l’annuaire. Voici les différentes configurations :
Configuration serveur
1. Installation des paquets ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg
2. Dans le fichier /etc/ldap/ldap.conf :
BASE dc=exemple,dc=com
URI ldap://192.168.1.254/
3. dpkg-reconfigure slapd
J’entre les informations correspondant au domaine exemple.com : dc=exemple,dc=com, etc.
4. ldapsearch -x
correspond bien à la configuration du point précédent.
5. Je créé les fichiers .ldif pour créer mon annuaire et ajouter mes utilisateurs.
structure.ldif contient : [code]dn: ou=utilisateurs,dc=exemple,dc=com
objectClass: organizationalUnit
ou: utilisateurs
description: Unite d’organisation contenant les utilisateurs du domaine
dn: ou=ordinateurs,dc=exemple,dc=com
objectClass: organizationalUnit
ou: ordinateurs
description: Unite d’organisation contenant les ordinateurs du domaine
dn: ou=vente,ou=utilisateurs,dc=exemple,dc=com
objectClass: organizationalUnit
ou: vente
description: Unite d’organisation representantle service vente
dn: ou=direction,ou=utilisateurs,dc=exemple,dc=com
objectClass: organizationalUnit
ou: vente
description: Unite d’organisation representant le service direction
dn: cn=vente,ou=vente,ou=utilisateurs,dc=exemple,dc=com
objectClass: posixGroup
gidNumber: 501
cn: vente
description: Groupe vente
dn: cn=direction,ou=direction,ou=utilisateurs,dc=exemple,dc=com
objectClass: posixGroup
gidNumber: 502
cn: direction
description: Groupe direction
dn: cn=pauldupont,cn=direction,ou=direction,ou=utilisateus,dc=exemple,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
uid: pauldupont
userPassword: pauldupont
cn: pauldupont
uidnumber: 1050
gidnumber: 501
homeDirectory: /home/profils/pauldupont
sn: pauldupont[/code]
adduseringroupe.ldif contient :
dc: cn=vente,ou=vente,ou=utilisateurs,dc=exemple,dc=com
changetype: modify
add: memberuid
memberuid: uid=pauldupont,cn=direction,ou=direction,ou=utilisateurs,dc=exemple,dc=com
6. J’envoie les fichiers .ldif dans l’annuaire : ldapadd -x -D "cn=admin,dc=exemple,dc=com" -W -f fichier.ldif
7. ldapsearch -x
Les informations ont été correctement rentrées. Toutefois, l’attribut userPassword n’apparaît pas dans l’entrée de l’utilisateur. Est-ce normal ?
Configuration client
1. Installation des paquets ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg libnss-ldap libpam-ldap libpam-modules libpam-cracklib nscd
2. Configuration de libnss-ldap : introduction de l’ip du server (192.168.1.254), dc=exemple,dc=com.
3. Configuration de libpam-ldap : non à l’autorisation de l’admin LDAP comme s’il était un root local, non à ce que le serveur LDAP demande des informations avant de récupérer des entreés.
4. dpkg-reconfigure libnss-ldap
Les informations entrées sont correctes.
5. Dans le fichier /etc/ldap/ldap.conf :
BASE dc=exemple,dc=com
URI ldap://192.168.1.254/
6. Dans le fichier /etc/nsswitch.conf :
passwd: compat ldap
group: compat ldap
shadow: compat ldap
7. Dans le fichier /etc/libnss.ldap.conf :
base dc=exemple,dc=com
uri ldap://192.168.1.254/
ldap_version 3
rootbinddn cn=admin,dc=exemple,dc=com
8. Dans le fichier /etc/libnss.ldap.secret :
mot de passe ldap
9. Dans le fichier /etc/pam_ldap.conf :
base dc=exemple,dc=com
uri ldap://192.168.1.254/
rootbinddn cn=admin,dc=exemple,dc=com
port 389
scope sub
bind_timelimit 30
idle_timelimit 3600
pam_filter objectClass=posixAccount
pam_login_attribute uid
10. Dans les fichiers /etc/pam.d/common-auth et /etc/pam.d/common-account et /etc/pam.d/common-session j’ai ajouté à la fin :
auth sufficient pam_ldap.so
puis dans le fichier /etc/pam.d/common-password j’ai ajouté à la fin :
password sufficient pam_ldap.so use_first_pass
Notes
getent passwd et getent group renvoie uniquement les informations de la machine locale et aucune entrée LDAP.
Versions des systèmes et logiciels
Debian Jessie 8.0 AMD64 pour le client et serveur
uname -a pour le client et serveur : Linux SRV1-DEB 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) x86_64 GNU/Linux
OpenLDAP 2.4, configuration avec OLC, cn=config
Merci d’avance de votre aide.