Gosa : Authentification Unix (compte posix)

Nous allons autoriser un poste client à considerer nos comptes GOsa comme des comptes Unix standard

Pré requis

Avant de continuer la lecture de cet article, je vous invite à les 2 articles suivants :

Ces articles proposent une configuration de base concernant GOsa et son annuaire LDAP.

Création d’un compte GOsa

Pour authentifier un compte GOsa, il faut d’abord le créer. En 2 captures, c’est fait.

creation compte 01 creer
creation compte 02 information

Pour l’utilisateur créé, nous le configurons pour qu’il soit considéré comme un compte unix. Lors de l’installation de notre annuaire LDAP, les objets et attributs requis pour gérer les comptes posix sont déja actifs.

creation compte 03 activer unix
creation compte 03 compte unix

Notre utilisateur est prêt à se connecter sur notre poste client. Nous continuons par la configuration du dit poste.

Installation des paquets NSS et PAM

Sur le poste qui acceptera des comptes gérés par LDAP, nous installons en premier les outils utiles à leurs communications.
apt-get install libnss-ldap, nous amènera à configurer 2 paquets libnss-ldap et libpam-ldap.

Les questions sont relativement claires, donc pas d’explications, juste une installation en image.

Le paquet libnss

libnss ldap 01 uri
libnss ldap 02 DN
libnss ldap 03 version
libnss ldap 04 anonyme
libnss ldap 05 root
libnss ldap 06 chmod
libnss ldap 07 admin ldap
libnss ldap 08 passwd
libnss ldap 09 nsswitch
libpam ldap 01 uri

Le paquet libpam

libpam ldap 02 DN
libpam ldap 03 version
libpam ldap 04 root
libpam ldap 05 anonyme
libpam ldap 06 admin ldap
libpam ldap 07 passwd
libpam ldap 08 chiffrage

Configuration des paquets

Avec la configuration réalisée à l’aide de debconf, il se trouve que la communication avec le serveur LDAP ne fonctionne pas à tous les coups.
La configuration générée utilise une URI ldap ://, hors il est préférable de faire appel à l’attribut host

Dans les 2 fichiers suivants :

  • on commente la ligne commençant par ldap://
  • on ajoute la ligne host ldap.mydc.mycountry

client:# nano /etc/libnss-ldap.conf
client:# nano /etc/pam_ldap.conf

Configuration de NSS

Pour rappel, lors de l’installation du paquet libnss-ldap, la dernière étape nous invitait à éditer le fichier nsswitch.conf

client:# nano /etc/nsswitch.conf

Nous ajoutons la référence à ldap.

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

Configuration de PAM

PAM est un module qui gére les différents sources d’authentification et fait le pont avec les applications nécessitant une authentification.

Nous avons 3 fichiers à mettre à jour.

client:# nano /etc/pam.d/common-account

account        sufficient        pam_ldap.so
account        required        pam_unix.so try_first_pass

client:# nano /etc/pam.d/common-auth

auth        sufficient        pam_ldap.so
auth        required        pam_unix.so nullok_secure try_first_pass

client:# nano /etc/pam.d/common-password

password        sufficient        pam_ldap.so
password        required        pam_unix.so nullok obscure min=4 md5

Automatiser la création des répertoires utilisateurs

En l’état si vous tentez de vous connecter (# ssh gosa@ip_client) avec le compte créé au tout début de l’article vous obtenez ce genre de message :

Could not chdir to home directory /home/gosa: No such file or directory
gosa@client:/#

A ce stade de notre configuration, seule l’authentification par ldap a été activée. Ainsi nous pouvons bien nous connecter avec notre compte mais si le répertoire utilisateur n’existe pas celui n’est pas créé automatiquement.

Pour remédier à ce problème, nous éditons le fichier client:# nano /etc/pam.d/common-session

session required        pam_unix.so
session required        pam_mkhomedir.so skel=/etc/skel/
session optional        pam_ldap.so

Connexion

Et ainsi se conclue cet article :

# ssh gosa@ip_client
gosa@client:~#
gosa@client:~#pwd
gosa@client:~#/home/gosa

Messages

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.