Comptes ldap (1)

Niveau : Star Star Star Empty Empty
Résumé : nss-ldap

Il y a plu­sieurs façon de gérer ses comp­tes par ldap. Com­men­çons par la plus sim­ple. Pla­çons-nous dans le cas d’une machine qui a des uti­li­sa­teurs sys­tè­mes sto­ckés sur le ldap.

Les uti­li­sa­teurs sont gérés par la biblio­thè­que de nom nom­mée NSS (et là). Cette biblio­thè­que se con­fi­gure dans /etc/nss­witch.conf. En sup­po­sant qu’on ait déjà un ser­veur ldap avec des uti­li­sa­teurs, il suf­fit donc de modi­fier ce fichier ainsi que d’ajou­ter un fichier de con­fi­gu­ra­tion spé­ci­fi­que à nss-ldap.

Ser­veur LDAP

Sup­po­sons que vous ayez déjà un ser­veur ins­tallé (apt-get ins­tall slapd), avec un suf­fixe nommé dc=linux-atti­tude,dc=fr.

Si vous n’avez pas encore d’arbo­res­cence avec des uti­li­sa­teurs, choi­sis­sez en une, par exem­ple ou=peo­ple,dc=linux-atti­tude,dc=fr.

Et peu­plons d’uti­li­sa­teurs notre arbre (je ne vais pas vous appren­dre le LDAP). Atten­tion, ici il faut uti­li­ser la classe posixAc­count pour les uti­li­sa­teurs que nous allons créer. Il est pos­si­ble de faire autre­ment, mais nous ver­rons ça plus tard.

Créons un uti­li­sa­teur avec un uid qui ne ren­trera pas en con­flit avec les uti­li­sa­teurs exis­tants pour mieux tes­ter. Uti­li­sons un groupe non ldap pour sim­pli­fier le pro­ces­sus (atten­tion, posixAc­count est AUXI­LIARY, ce qui veut dire qu’il faut une autre classe pour l’uti­li­sa­teur, ine­tOrg­Per­son par exem­ple) :

$ ldapadd -x -D "cn=admin,dc=linux-attitude,dc=fr" -W
dn: uid=peck,ou=people,dc=linux-attitude,dc=fr
uid: peck
objectClass: posixAccount
objectClass: inetOrgPerson
cn: peckname
sn: Peck Le bogoss
uidNumber: 2000
gidNumber: 1000
homeDirectory : /tmp

NSS

Il nous faut le paquet libnss-ldap. Pour que NSS le prenne en compte, il faut édi­ter /etc/nss­witch.conf :

# on donne la priorité à ldap
passwd:         ldap compat

Main­te­nant, il faut con­fi­gu­rer libnss-ldap, c’est un peu plus com­pli­qué, mais le fichier de con­fig par défaut est plein de com­men­tai­res. Voici le mini­mum à con­fi­gu­rer :

# /etc/libnss-ldap.conf
base ou=people,dc=nodomain
uri ldap://127.0.0.1/
ldap_version 3

Test

Ce test doit être fait en root car nous n’avons pas tout mis en place. Nous n’avons pour l’ins­tant défini que l’exis­tence de l’uti­li­sa­teur.

$ su - peck
$ id
# Une autre façon de faire :
$ getent passwd peck

You­hou ça mar­che.
Demain nous ferons un peu mieux parce que là bon, c’est léger …

Vus : 185
Publié par Peck : 100