Client GNU/Linux et Open LDAP

Protocole élaboré avec un serveur Kwartz basé sur Ubuntu/openLDAP+Samba

Il devrait fonctionner sans problème avec tout serveur utilisant un annuaire openLDAP.
La plupart de ces éléments ont été mis en place et testés avec succès par Sylvain Debomy sur son Raspberry au lycée Carnot Bruay-Labuissière, Hauts-de-France.
Romain Debailleul a complété les parties manquantes.
Georges Khaznadar du lycée Jean Bart Dunkerque a créé le paquet kwartz-client . L’objectif à terme est de n’utiliser que ce paquet qui gère l’ensemble de façon automatique et rend la page ci-dessous en grande partie inutile (sauf pour la paramétrage de l’annuaire) sur un PC installé sous DEBIAN. Il n’est pour le moment pas disponible sur Raspberry.

Le protocole ci-dessous indique la gestion manuelle sur un réseau Kwartz pour accéder à Internet, authentifier les utilisateurs.

Il est valable pour les distributions basées sur DEBIAN: Raspberry pi OS, Ubuntu, Mint etc.
DEBIAN est une distribution recommandée par le Socle Interministérielle de Logiciel Libre.
La distribution utilisée sur les postes fixes est Linux Mint 20. Nous utilisons Raspberry Pi OS pour nos Raspberry pi, voir Raspberry pi imager pour graver l’image sur une carte micro-SD ou une clé USB.
Bien sûr, dans le cadre d’une utilisation à la maison, ce tutoriel est inutile.


Contact: romain.debailleul arobase ac-lille.fr


Préambule

Le Raspberry est livré par défaut avec un compte utlisateur pi et le mot de passe raspberry
Il est fortement conseillé de changer le mot de passe du compte pi et de créer un utilisateur avec un autre mot de passe. Soit par le menu de configuration soit en ligne de commande:

Changer le mot de passe du compte pi

Avec le compte pi:
sudo passwd
ou supprimer ce compte:
sudo deluser -remove-home pi

Ajouter un compte

Ajouter son propre compte, par exemple alan:
sudo adduser alan
et lui donner les droits root:
sudo adduser alan sudo

Modifier les Fichiers

Les fichiers nommés avec leur chemin dans le système sont à éditer: ajouter les lignes proposées à l’aide d’un éditeur de texte.
Par exemple, pour éditer le fichier /etc/profile sur le Raspberry, taper la commande suivante dans un terminal:
sudo gedit mousepad /etc/profile

Cela ouvrira le fichier profile situé à l’emplacement /etc/ avec l’éditeur de texte mousepad **

Rappelons qu’on sépare toujours une commande (gedit) de son argument (mousepad) par un espace.


Accès internet par le proxy


Faire identifier si nécessaire la machine par son adresse MAC auprès de l’administrateur réseau. Pour rappel cette adresse identifie de manière unique les périphériques réseaux et s’obtient en ligne de commande par:
ip a (ou ifconfig)
adresse MAC

  • Cherchez dans la partie enp (ou eth0 sur Raspberry) pour l’ethernet: ether e0:3f:49:14:d3:xx indique ici une adresse MAC e0:3f:49:14:d3:xx
  • Cherchez dans la partie wlp (ou wlan0 sur Raspberry) pour le wifi. ether e0:3f:xx:14:d3:xx indique ici une adresse MAC e0:3f:xx:14:d3:xx

fichier /etc/profile

Pour accéder à internet via les protocole http, https, ftp:
En principe, pour la région Hauts-de-France, l’adresse IP du proxy est 172.16.0.253 sur le port 3128, à vérifier auprès de l’administrateur réseau.

export http_proxy=http://"172.16.0.253":"3128"
export https_proxy=https://"172.16.0.253":"3128"
export ftp_proxy=ftp://"172.16.0.253":"3128"

Si la machine n’est utilisée que par une seule personne, il est possible d’indiquer ses identifiants:
http_proxy=http://"identifiant:mot_de_passe@172.16.0.253":"3128"

fichier /etc/apt/apt.conf.d/10proxy

Pour pouvoir installer via le protocole apt:
Acquire::http::Proxy "http://login:mot_de_passe@172.16.0.253:3128";

  • Il y a bien un espace entre Proxy et "http://………"
  • N’oubliez pas le point virgule en fin de ligne.

    A ce stade, si vous ne souhaitez que l’accès internet, il est inutile de poursuivre.

Ce dernier point est à vérifier selon le système d’authentification de votre établissement. Cela ne pose pas de problème en Hauts-de-France avec le réseau Kwartz. Il faudra passer au point suivant si cela ne fonctionne pas.

Si Samba est installé, vous pouvez accéder à votre espace kwartz via un navigateur (Caja, Nautilus etc.) de fichier par l’adresse smb://kwartz-server

Annuaire (pour les identifiants kwartz)

  • Configuration des paramètres de l’annuaire
    Dans un terminal, lancer l’installation (admin) des paquets suivants:

    apt update
    apt-get install libpam-ldapd libnss-ldapd nscd

La fenêtre de configuration s’ouvre pour configurer l’annuaire LDAP, voici les paramètres en Hauts-de-France (à récupérer auprès de votre admin réseau):
Paramètres: cocher users / passwd et shadow(?)

  • ldap server URI
    ldap://172.16.0.253

  • dn
    dc=kwartz,dc=dom

  • ldap version
    3

  • ldap account for root
    {laisser vide}

  • ldap root account password
    {laisser vide}

fichier /etc/pam_ldap.conf

host 172.16.0.253
uri ldap://172.16.0.253
ldap_version 3

pam_password crypt

fichier /etc/nslcd.conf

uid nslcd

gid nslcd
uri ldap://172.16.0.253
base dc=kwartz,dc=dom
\#SSL options
\#ssl off
\#tls_reqcert never
\#tls_cacertfile /etc/ssl/certs/ca-certificates.crt
base paswd OU=Users,DC=kwartz,DC=dom
base group OU=Groups,DC=kwartz,DC=dom

A ce stade getent passwd renvoie la liste des users .

Authentification

Paramètres d’authentification (voir https://www.linux.com/news/understanding-pam/)

fichier /etc/pam.d/common-session

session [default=1]         pam_permit.so

session requisite           pam_deny.so
session required            pam_permit.so
session required    pam_unix.so 
session optional    pam_mount.so          #pour le montage fait ensuite
session [success=ok default=ignore] pam_ldap.so minimum_uid=1000
session optional    pam_systemd.so 
session required pam_mkhomedir.so

A ce stade , on peut avoir accès à l’authentification

Ne pas lister les users à l’authentification (utile sur RaspiOS)

fichier /etc/lightdm/lightdm.conf

greeter-hide-users=true #sinon on liste tous les utilisateurs de l’annuaire ldap pour choisir son identifiant


Montage automatique des partitions


Samba peut poser problème avec la version de Mint 20.2/20.3 utilisée:
[i]failed to mount Windows share: software cause connection abort[/i]
au serveur kwartz via le gestionnaire de fenêtre en ajoutant une ligne (sous le [global]) au samba/smb.conf:

fichier /etc/samba.conf

client min protocol = NT1
A noter que l’adresse smb://kwartz-server dans un navigateur de fichier donne accès à l’espace kwartz.

Version Iris Technologie pour le montage auto:
Voici les volumes ajoutés dans /etc/security/pam_mount.conf.xml

<volume  user="*"  fstype="cifs"   server="kwartz-server"   path="%(USER)"
       mountpoint="/home/%(GROUP)/%(USER)/Bureau/Perso" options="vers=1.0" />

<volume  user="*"  fstype="cifs"   server="kwartz-server"   path="Commun"
       mountpoint="/home/%(GROUP)/%(USER)/Bureau/Commun" options="vers=1.0" />

<volume  user="*"  fstype="cifs"   server="kwartz-server"   path="Public"
       mountpoint="/home/%(GROUP)/%(USER)/Bureau/Public" options="vers=1.0" />

Eléments à vérifier:
/etc/pam.d/common-auth
ajouter au début du fichier –> auth required pam_mount.so

Création des groupes et répertoires en local et affectation des gid
sudo mkdir ~/profs
sudo addgroup profs
sudo chown profs /home/profs #le répertoire appartient au groupe
chmod 775 /home/profs #à vérifier
sudo groupmod -g 1331 profs # même gid que sur le serveur … est-ce à faire ? –> à vérifier .