Authentification LDAP depuis le client GNU / Linux

La procédure suivante propose l'intégration d'un client Ubuntu 15.04 vivid à jour :

root@pclinux:/home/eole# apt-get update && apt-get upgrade

L'adresse du poste client est obtenu par DHCP et le nom de machine du module Scribe est résolue.

Configuration de l'authentification LDAP

http://wiki.debian.org/fr/LDAP/NSS

Installation de libnss-ldapd

L'installation de libnss-ldapd se fait à l'aide de la commande apt-get install :

root@pclinux:/home/eole# apt-get install libnss-ldapd

Des paquets supplémentaires seront installés : ldap-utils libpam-ldapd nscd nslcd nslcd-utils

Truc & astuce

La configuration de libnss-ldapd et nslcd est interactive en fin d'installation.

Pour une configuration manuelle avec édition des fichiers de configuration il faut ajouter l'option -y à la commande apt-get install :

root@pclinux:/home/eole# apt-get -y install libnss-ldapd

Configuration interactive

Si l'installation 0 question n'a pas été adoptée 3 écrans permettent, à la fin de l'installation , de configurer le service :

  • configuration de nslcd : saisir l'adresse ou le nom de machine du module Scribe, il ne faut pas omettre le / à la fin, le port peut être spécifié ;

  • configuration de nslcd : saisir le nom distinctif de la base de recherche, saisir o=gouv, c=fr ;

  • configuration nsswitch des ressources à chercher dans l'annuaire LDAP : cocher passwd, group et shadow ;

Configuration manuelle

La configuration peut-être réalisée ou adaptée en éditant les fichiers suivants :

  • /etc/nslcd.conf

    # The location at which the LDAP server(s) should be reachable.

    uri ldap://scribe/

    # The search base that will be used for all queries.

    base o=gouv,c=fr

  • /etc/nsswitch.conf

    passwd: compat ldap

    group: compat ldap

    shadow: compat ldap

Remarque

Le mode compat est destiné à travailler avec NIS[1].

Test de liaison avec l'annuaire LDAP :

root@pclinux:/home/eole# ldapsearch -h scribe:389 -b o=gouv,c=fr -x uid=utilisateurScribe

Exemple

root@pclinux:/home/eole# ldapsearch -h scribe:389 -b o=gouv,c=fr -x uid=test.prof

uid: test.prof

uidNumber: 10034

gidNumber: 10001

homeDirectory: /home/t/test.prof

sambaLogonTime: 0

sambaLogoffTime: 2147483647

sambaKickoffTime: 2147483647

sambaPwdCanChange: 0

sambaSID: S-1-5-21-1756604377-3768680913-3336469871-21068

sambaPrimaryGroupSID: S-1-5-21-1756604377-3768680913-3336469871-21003

sambaProfilePath: \\scribe\netlogon\profil

sambaHomePath: \\scribe\test.prof\perso

sambaHomeDrive: U:

objectClass: top

objectClass: person

objectClass: organizationalPerson

objectClass: posixAccount

objectClass: shadowAccount

objectClass: inetOrgPerson

objectClass: sambaSamAccount

objectClass: administrateur

objectClass: ENTPerson

objectClass: ENTAuxEnseignant

objectClass: radiusprofile

cn: test prof

sn: prof

givenName: test

displayName: test prof

gecos: test prof

LastUpdate: 20151107

ENTPersonLogin: test.prof

ENTPersonJointure: ENT

ENTPersonProfils: enseignant

ENTPersonNomPatro: prof

codecivilite: 1

ENTPersonSexe: M

personalTitle: M.

intid: 12

radiusTunnelType: VLAN

radiusFilterId: Enterasys:version=1:policy=Enterprise User

radiusTunnelMediumType: IEEE-802

mail: test.prof@etb1.ac-test.fr

mailHost: localhost

mailDir: /home/mail/test.prof/

typeadmin: 0

loginShell: /bin/bash

sambaAcctFlags: [U]

sambaPwdLastSet: 1447316673

sambaPwdMustChange: 1447316673

shadowLastChange: 16751

# search result

search: 2

result: 0 Success

# numResponses: 2

# numEntries: 1

root@pclinux:/home/eole# getent passwd utilisateurScribe

utilisateurScribe:x:10034:10001:test prof:/home/u/utilisateurScribe:/bin/bash

root@pclinux:/home/eole#

Exemple

root@pclinux:/home/eole# getent passwd test.prof

test.prof:x:10034:10001:test prof:/home/t/test.prof:/bin/bash

root@pclinux:/home/eole#

Tester la prise en compte des utilisateurs

# ssh test.prof@10.1.2.52

test.prof@10.1.2.52's password:

Welcome to Ubuntu 15.04 (GNU/Linux 3.19.0-15-generic x86_64)