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.
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.
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
Le paquet libpam
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
1. Gosa : Authentification Unix (compte posix), 20 avril 2010, 16:49, par Grumly
Il y a un problème avec la fin de l’article rendant illisible la manipulation à faire pour la création automatique des users folders.
2. Gosa : Authentification Unix (compte posix), 21 avril 2010, 15:50, par km
Merci pour le retour. Je viens de corriger la faute de typo qui cassait la fin de l’article
3. Gosa : Authentification Unix (compte posix), 15 octobre 2013, 22:06, par pierre
Salut,
comment faire pour cloisonner les utilisateurs definis dans l annaire a un sous groupe de serveurs ?
j ai une petite idee, utiliser l objet host dans ldap et checker avec pam.
t en penses quoi ?
merci