Configuration d’un client Ubuntu pour authentification sur LDAP
jeudi 4 septembre 2008 par alain
Navigation rapide
Pour une raison de simplification de la gestion des comptes dans la salle d’informatique, je propose de configurer les postes clients pour autoriser la connexion des utilisateurs connus dans l’annuaire LDAP du serveur.
De plus, le répertoire personnel sera monté à travers le réseau via NFS.
Installation de libnss-ldap et libpam-ldap
Il faut commencer par installer les paquets suivants :
libnss-ldap et libpam-ldap
Une configuration interactive demande de répondre aux questions suivantes :
- permettre à Debconf de gérer la configuration : yes
- adresse du serveur ldap : ldap ://adresse_ip_serveur (exemple pour athena ldap ://172.17.1.3)
- suffixe de l’annuaire : dc=condorcet,dc=net
- version de ldap : 3
- Make local root database admin : non
- Does the LDAP database require login : non
Les réponses à ces questions permettent de construire convenablement le fichier : /etc/ldap.conf
En cas d’erreur lors de la configuration, on peut recommencer avec la commande :
#dpkg-reconfigure ldap-auth-config
Modification du fichier /etc/nsswitch.conf
Il faut ensuite indiquer au système les méthodes à utiliser pour atteindre les comptes utilisateurs.
voir http://fr.wikipedia.org/wiki/Name_S...
Pour atteindre les comptes existants sur l’annuaire LDAP on modifie dans fichier les 3 lignes en ajoutant à chaque fois "ldap" :
passwd: compat ldap
group: compat ldap
shadow: compat dap
Cette opération nous permet de voir depuis le client, tous les comptes connus : locaux et sur l’annuaire.
Pour les visualiser, on utilise la commande : #getent passwd
Pour visualiser les groupes connus : #getent group
Modification des fichiers d’authentification du dossier /etc/pam.d
Il nous reste à configurer le module d’authentification pour accepter une connexion au poste client via un compte connu du serveur LDAP.
Il nous faut pour cela modifier 3 fichiers common du dossier /etc/pam.d :
Modification du fichier /etc/pam.d/common-auth :
Ajoutez une ligne en début de fichier pour obtenir le résultat suivant
auth sufficient pam_ldap.so
auth requisite pam_unix.so nullok_secure
auth optional pam_smbpass.so migrate missingok
Modification du fichier /etc/pam.d/common-account :
De la même manière, ajoutez la ligne suivante au début du fichier
account sufficient pam_ldap.so
Modification du fichier /etc/pam.d/common-password :
De la même manière, ajoutez la ligne suivante au début du fichier
password sufficient pam_ldap.so
Montage du dossier personnel à travers le réseau via NFS
Comme nous ne créons pas de dossiers utilisateurs sur le poste client (même pas de manière automatique lors de la première connexion), il nous faudra monter le dossier contenant les répertoires personnels des utilisateurs exporté par le serveur de fichier (idem au serveur LDAP chez nous).
Le serveur exporte ce dossier sous le nom /home/users
Il ne nous reste plus qu’à créer un dossier /home/users sur le client.
Cette opération nécessite toutefois l’installation du code permettant la gestion de NFS coté client.
#apt-get install nfs-common
Puis nous devons rajouter une ligne dans le fichier /etc/fstab pour monter automatiquement le dossier au démarrage de la machine.
Il faut insérer une ligne du type :
ip_serveur:rep_serveur point_montage_local nfs options 0 0
dans le fichier /etc/fstab.
La ligne à ajouter au fichier /etc/fstab dans notre cas sera :
172.17.1.3 :/home/users /home/users nfs rw 0 0
L’option rw nous permet de lire et d’écrire pour tous. Mais ceci ne pose pas de problème car les permissions des fichiers sur le serveur sont respectées.
Installation simplifiée de l’authentification sur LDAP
Cette configuration peut-être simplifiée grâce à l’utilisation du paquet ldap-auth-client.
Il suffit en effet d’installer ce paquet qui installera par dépendance les paquets libnss-ldap et libpam-ldap.
#apt-get install ldap-auth-client
La configuration se fera de la même manière que décrit précédemment :
- permettre à Debconf de gérer la configuration : yes
- adresse du serveur ldap : ldap ://adresse_ip_serveur (exemple pour athena ldap ://172.17.1.3)
- suffixe de l’annuaire : dc=condorcet,dc=net
- version de ldap : 3
- Make local root database admin : non
- Does the LDAP database require login : non
Pour modifier modifier automatiquement les fichiers /etc/nsswitch.conf et autres /etc/pam.d/common-*, il suffit d’exécuter la commande auth-client-config
#auth-client-config -a -p lac_ldap
Remarque : Si le dossier n’existe pas en local, il sera crée automatiquement.
Pour travailler sur le dossier personnel partagé par le serveur de fichier, il faut remonter le répertoire de partage NFS par la ligne suivante dans /etc/fstab :
En ayant également installé le paquet nfs-common
#apt-get install nfs-common