Client GNU/Linux et Open LDAP: script d’intégration

I.Récupérer et lancer le script shell kwartz-install

Ce que fait le script kwartz-install

Ce script est manitenant validé sur Linux Mint 21 MATE/XFCE/Cinnamon (02/09/2023). Il a été testé avec succès sur MATE et XFCE : connexion à l’annuaire LDAP, accès à la session, paramétrage Samba, accès internet via le proxy, y compris pour le protocole apt (paquets logiciels), montage automatique des partitions Kwartz.
N’hésitez pas à faire un retour, c’est indispensable.

Merci à Rémi Debrock, Cédric Frayssinet, Georges Khaznadar, Thomas Lévêque, Emmanuel Ostenne, pour leur contribution.

Ce que fait ce script, et ce qu’il fait de plus que le tutoriel manuel:

  • accéder à internet et installer des logiciels via le proxy,
  • Gérer le proxy pour les bureaux basés sur GNOME,
  • authentifier les utilisateurs par l’annuaire LDAP,
  • monter automatiquement les répertoires Commun, User et Public,
  • éteindre les machines à une heure choisie,
  • ajouter le groupe profs aux sudoers (admin),
  • mettre à jour la base de logiciels et activer les MAJ de sécurité automatiquement
  • Accéder au réseau local et imprimantes partagées.
Un script à lancer pour intégrer un client GNU/Linux à Kwartz [Illustration : David RevoyLicence CC BY]

[EDIT 15/03/2023]

Ajout du montage automatique des partitions Kwartz.

[EDIT 21/03/2023]

  • modification de l’ajout du module pam_mkhomedir.so dans le fichier /etc/pam.d/commomn-session. La place semble importante pour activer les modules successifs dans le bon ordre. Merci à E. Ostenne du collège du Val de Gy.
  • Ajout du paquet oidentd qui avait été oublié.


[EDIT 23/03/2023]

  • Montage en cours pour un tutoriel vidéo.

En cas de difficulté, voyez le tuto pas à pas avec la vidéo de support. Le montage automatique est en cours de test au 14/03/2023 (test validé le 15/03 sur Linux Mint 21 MATE et XFCE, et Cinnamon)).

[EDIT 28/03/2023]

Attention: la version précédente avec inversion des modules a planté l’authentification.

Mise à jour validée. Le script validé est kwartz-install.

kwartz-installV8.sh est en test: verrouillage du pavé numérique et autorisation connexion manuelle (V8).

[EDIT 20/04/2023]

kwartz-installV8.sh pose problème avec le menu écran de connexion.

– Dans le fichier /etc/pam.d/common-session, déplacer la ligne

session required    pam_mkhomedir.so

conformément au tuto pour utiliser /etc/skel (afin de personnaliser la session utilisateur).

L’ajout de cette modif au script est en cours de test.

[EDIT 28/04/2023]

Ajout de la modif du fichier /etc/pam.d/common-session au script kwartz-install.

Le script a été validé pour les distribution Mint/Ubuntu. Un problème subsiste sur Debian, libpam-ldapd semble avoir un comportement différent.


Méthode
Vous pouvez vous appuyer sur le tutoriel vidéo d’utilisation du script et d’installation des logiciels.

  • Téléchargez le script kwartz-install.sh
    L’icône de téléchargement est à droite de la fenêtre du script
    Si vous voulez personnaliser la session utilisateur, créez un dossier /etc/skel/Desktop et modifiez le chemin dans le script pour le montage automatique des partitions en remplaçant Bureau par Desktop. A faire avant de lancer le script.

  • Ouvrez un terminal dans le répertoire où se trouve le script (possible facilement avec un clic droit dans ce répertoire )
  • Rendez-le exécutable avec la commande:
chmod +x kwartz-install.sh 
  • Lancez le script avec sudo:
sudo ./kwartz-install.sh
Ouvrir un terminal dans le répertoire du script

La plupart des actions se réalisent sans interaction. Il vous faudra cependant:

  • configurer nslcd et nsswitch (adresse IP, port et nom du serveur kwartz requis)
  • Indiquer les identifiants d’un utilisateur pour utiliser apt avec le proxy. Créez pour cela un utilisateur sans aucun droit.

Vous pouvez appliquer une mise à jour complète avec:

sudo apt full-upgrade -y

ou utiliser l’outil graphique de mise à jour.

II.Configuration: partie interactive du script

Le script lance l’installation de libpam-ldapd, nslcd . La fenêtre de configuration s’ouvre pour configurer l’annuaire LDAP, voici les paramètres par défaut (adresse IP du serveur Kwartz et paramètres DN à récupérer auprès de votre admin réseau). Vous devez les changer lors de l’exécution du script lorsque cela est demandé s’ils sont bien sûr différents.

  • Configuration de nslcd.
    URI du serveur LDAP:ldap://172.16.0.253
  • Nom distinctif DN:
    dc=kwartz,dc=dom
  • Configuration de libnss-ldapd:
    cocher passwd/ group/ shadow

Attention: Le nom distinctif DN peut différer, E. Ostenne le signale pour son collège (CG62). Avec des paramètres fictifs, il est du type:

dc=0620123a,dc=clg,dc=ac-lille,dc=fr

Configuration Kwartz
URI du LDAP, en principe 172.16.0.253 (Mais vérifiez-le auprès de votre admin réseau)

Exécutez la commande getent passwd.

Ceci devrait vous montrer les comptes de LDAP qui ne sont pas dans le fichier /etc/passwd. Autrement dit, tous les utilisateurs de l’établissement. Des tests similaires peuvent être faits avec group, shadow et d’autres bases de données configurées dans /etc/nsswitch.conf .

Cela permet de vérifier que NSS voit bien ce que fournit LDAP.

Vous devriez pouvoir vous connecter avec vos identifiants Kwartz.

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

III.Connexion manuelle à l’écran de connexion

A l’écran de connexion, vous devriez voir un menu pour la connexion manuelle. Dans le cas contraire:

  • Sur les distributions disposant de menus avancés type Ubuntu/Mint, il suffit de  cocher connexion manuelle dans le menu:Administration>>écran de connexion>>utilisateur

    [L’étape suivante demande à être confirmé par d’autres tests (29/04/2023)]
  • En l’absence de ce menu, comme sur Raspberry Pi OS, Lubuntu etc. Editer le fichier en modifiant la ligne greeter-hide-users=false , il vous faudra éventuellement installer lightdm:
    sudo apt install lightdm
  • Sur Lubuntu il est conseillé de procéder de la façon suivante:
    Pour activer l’option de connexion manuelle dans LightDM sur Ubuntu,
    – créer un fichier de configuration dans le répertoire /usr/share/lightdm/lightdm.conf.d/ avec un nom approprié (par exemple, 50-enable-manual-login.conf) et ajouter l’option greeter-show-manual-login=true à l’intérieur de ce fichier.

[SeatDefaults]
greeter-show-manual-login=true

Fichier /etc/lightdm/lightdm.conf

greeter-hide-users=true

Vous avez accès à votre session avec identifiants Kwartz et vos partitions: L’équivalent du répertoire H: sous Windows est Espace_Perso ou Perso.

             Linux Mint MATE: les répertoires Perso, Commun et Public doivent apparaître sur le bureau.

Personnaliser la session utilisateur

Créez les dossiers que vous voulez voir apparaitre pour chaque utilisateur dans /etc/skel/Desktop. Vous pouvez également y placer les lanceurs d’applications comme firefox.desktop.

Le lanceur firefox.desktop placé dans /etc/skel apparait sur le bureau de chaque utilisateur