Client linux dans un AD windows type collège

Jetez windows, pas les ordinateurs !

Installation du client

Réglage du BIOS

Chez moi, les BIOS de ces machines ont été triturés avec les générations successives d’OSCAR, clonage par SE3, master (peu fonctionnel mais c’est de ma faute)
Donc on remet les paramètres par défaut du BIOS

F12
BIOS setup
mot de passe BIOS
etc.

Installation classique par boot sur clé USB

Je ne détaille pas l’installation. Seule spécificité à noter pour la suite, le compte sudoer, créé à l’installation, est prn (ou ce que vous voulez) avec un mot de passe.

utilisateur sudoer

Premiers paramétrages

La plupart des réglages sont à faire avec les droits root. Ouvrez une console et utilisez la commande sudo -i

Proxy

Le proxy doit être réglé à différents endroits.

Dans /etc/profile ajoutez

# réglages du proxy
export http_proxy="http://10.131.254.254:3128/"
export https_proxy="http://10.131.254.254:3128/"
export ftp_proxy="http://10.131.254.254:3128/"
export no_proxy="localhost,127.0.0.1,::1"

et la même chose dans /etc/bash.bashrc

wgetet apt utilisent leurs propres fichiers de configuration.

Dans /etc/wgetrc décommentez et complétez les lignes

# réglages du proxy 
http_proxy = http://10.131.254.254:3128/
https_proxy = http://10.131.254.254:3128/
ftp_proxy = http://10.131.254.254:3128/
no_proxy = localhost,127.0.0.1,::1
use_proxy = on

Attention : syntaxe différente (pas de " " pour les chaînes)

Créez un fichier /etc/apt/apt.conf.d/80proxycollege :

Acquire::http::Proxy "http://10.131.254.254:3128/";
Acquire::https::Proxy "http://10.131.254.254:3128/";
Acquire::ftp::Proxy "http://10.131.254.254:3128/";

Remarque : ces réglages ne concernent pas firefox qui devra être réglé de son côté. > fix : il semble que ça ne marche pas trop mal avec le paramètre “Utiliser les paramètres proxy du système” alors que ça déconne avec windows

Mise à l’heure de l’horloge

Dans le fichier /etc/systemd/timesyncd.conf dans la section [time] décommentez et modifiez la ligne

NTP=10.131.253.253

Démarrez le service par :

timedatectl set-ntp true

et vérifiez son fonctionnement par :

timedatectl status

qui ne doit pas renvoyer de message d’erreur.

Paquets supplémentaires

On met à jour le système et on ajoute les paquets supplémentaires

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install realmd sssd-ad sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit libpam-mount cifs-utils

en acceptant toutes les dépendances nécessaires.

Jonction au domaine

Nom du poste

On défini le nom du poste et son FQDN

hostnamectl set-hostname nomduposte.0670107C.ac-strasbourg.fr

Découvrir et rejoindre le domaine

realm discover 0670107C.ac-strasbourg.fr

puis

realm join -U PRN0670107C 0670107C.ac-strasbourg.fr

et renseigner le mot de passe du compte PRN067…

On peut vérifier que l’intégration au domaine s’est bien passée sur le serveur directement. > (fix : mettre capture d’écran)

Pour éviter de saisir les noms d’utilisateurs avec le FQDN, on modifie le fichier /etc/sssd/sssd.conf en ajoutant, dans la section [sssd] la ligne

default_domain_suffix = 0670107C.ac-strasbourg.fr

Redémarrer le service pour prendre en compte les modifications avec

systemctl restart sssd.service

Pour tester, la commande id permet d’afficher les identifiants d’utilisateur et de groupe d’un utilisateur local et de domaine. Avec un identifiant du domaine, la commande

id cwestphal

avec un compte existant sur le domaine doit retourner un uid, gid, les groupes, etc. mais pas de message d’erreur.

Répertoire utilisateur

Lors de la connexion sur le poste, un répertoire utilisateur doit se créer automatiquement dans /home pour cela lancez la commande

pam-auth-update --enable mkhomedir

et à la fin de /etc/pam.d/common-session ajouter les lignes

session required        pam_mkhomedir.so skel=/etc/skel umask=0022
session optional        pam_mount.so

Attention, ces lignes doivent être dans cette ordre là, à la fin du fichier et celles préexistant dans le fichier doivent être supprimées.

Testez par la commande avec la commande su et un identifiant d’un compte du domaine. Exécutée avec les droits root, cette commande ne demande pas le mot de passe de l’utilisateur. Avec un compte ordinaire, le mot de passe du compte est demandé.

su - cwestphal 

Un répertoire /home/cwestphal@0670107c.ac-strasbourg.fr doit se créer automatiquement. Supprimez ce dossier : il n’est pas encore configuré correctement.

Partages réseau

Les partages réseaux du serveur sont les suivants :

//SRV-PEDA/Classes$
//SRV-PEDA/Echanges$
//SRV-PEDA/Homes$

Dans le dernier, les répertoires personnels des élèves et des enseignants sont séparés en deux sous-répertoires Enseignants et Eleves

Lors de la connexion au client linux, les partages doivent être accessibles à l’utilisateur : c’est le rôle du module PAM_mount qui est configuré de la façon suivante.

Fichier /etc/security/pam_mount.conf.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">

<pam_mount>

<debug enable="O" />

        <!-- Volume definitions -->
<volume 
    user="*" 
    fstype="cifs" 
    server="SRV-PEDA"
    path="Classes$" 
    mountpoint="/mnt/classes"
    sgrp="utilisateurs du domaine@0670107C.ac-strasbourg.fr"
/>
<volume 
    user="*" 
    fstype="cifs" 
    server="SRV-PEDA"
    path="Echanges$" 
    mountpoint="/mnt/echanges"
    sgrp="utilisateurs du domaine@0670107C.ac-strasbourg.fr"
/>
<volume 
    user="*" 
    fstype="cifs" 
    server="SRV-PEDA"
    path="Homes$/Enseignants/%(DOMAIN_USER)" 
    mountpoint="/home/%(USER)/Documents"
    sgrp="profs_0670107c@0670107C.ac-strasbourg.fr"
/>
<volume 
    user="*" 
    fstype="cifs" 
    server="SRV-PEDA"
    path="Homes$/Eleves/%(DOMAIN_USER)" 
    mountpoint="/home/%(USER)/Documents"
    sgrp="eleves_0670107c@0670107C.ac-strasbourg.fr"
/>

        <!-- pam_mount parameters: General tunables -->
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<mntoptions require="nosuid,nodev" />

<!-- requires ofl from hxtools to be present -->
<logout wait="0" hup="no" term="no" kill="no" />

<mkmountpoint enable="1" remove="true" />

</pam_mount>

Préparation du poste

Suppression de certains services

Sur ces ordinateurs certains services sont à supprimer : les notifications de mises à jour sont inutiles pour les utilisateurs habituels et l’applet de gestion d’énergie est sans objet sur un ordinateur de bureau. Il suffit de supprimer (ou renommer en supprimant l’extension .desktop) les fichiers suivants.

cd /etc/xdg/autostart/
mv lxqt-powermanagement.desktop lxqt-powermanagement.kouik
mv lubuntu-update-autostart.desktop lubuntu-update-autostart.kouik

Personnaliser le répertoire /etc/skel

Lors d’une première connexion d’un utilisateur sur un poste, le répertoire /etc/skel est utilisé pour construire le répertoire personnel /home/nomdutilisateur@FQDN Celui-ci contient normalement les documents personnels de l’utilisateur, son bureau et autres répertoires plus ou moins spécialisés (Documents, Download, Pictures, etc.) mais aussi les fichiers cachés de configuration. C’est par ce biais là qu’il est possible de prédéfinir l’environnement du futur utilisateur.

Remarque : contrairement aux ordinateurs sous windows, il n’existe pas de répertoires All Users qui s’appliquent à tous.

Il est possible de proposer sur le bureau des utilisateurs des lanceurs permettant d’accéder à certaines applications ou répertoires. Ces lanceurs sont des fichiers .desktop. Par exemple, pour un lanceur permettant d’accéder au partage Classes$préalablement monté sur /mnt/classes la structure de ce fichier est :

[Desktop Entry]
Type=Application
Exec=pcmanfm-qt "Desktop/cibles/Classes/"
Icon=folder-network
Name=Partage Classes sur serveur

FIX : marche pas bien : il faut valider manuellement “faire confiance à cet exécutable”. Ne pas faire pour le moment

Pour placer des signets dans l’explorateur de fichier (PCManFM-Qt), il faut modifier le fichier .gtk-bookmarksde l’utilisateur et donc créer le fichier /etc/skel/.gtk-bookmarks avec comme contenu :

file:///mnt/classes Classes
file:///mnt/echanges Echanges

Le répertoire personnel Documents fait de toute façon l’objet d’une entrée dans Dispositifs sur le panneau latéral quand le partage personnel est monté dans ce répertoire.

Accès à distance

Pour la maintenance des ordinateurs, l’accès à distance est fait par ssh.

apt-get install ssh