Administration du module AmonEcole
La phase d'administration correspond à l'exploitation du serveur.
Chaque module possède des fonctionnalités propres, souvent complémentaires.
Diverses interfaces permettent la mise en œuvre de ces fonctionnalités et en facilitent l'usage.
Administration généralités
La dernière des quatre phases
La phase d'administration correspond à l'exploitation du serveur.
Chaque module possède des fonctionnalités propres, souvent complémentaires.
Diverses interfaces permettent la mise en œuvre de ces fonctionnalités et en facilitent l'usage.
Principes de l'administration
L'administration d'un module est facilitée par plusieurs outils mis à disposition :
l'interface d'administration web :
EAD
;l'interface d'administration semi-graphique :
manage-eole
;l'interface d'administration du module Zéphir :
Zéphir-Web
;des outils spécifiques à certains modules :
ARV
,frontend_horus
, ...des interfaces fournies par les logiciels utilisés : Cups, Sympa, ...
la procédure de mise à jour ;
les sauvegardes.
Il est également possible d'utiliser la ligne de commande.
Le choix de l'outil à utiliser s'effectue en fonction du type de module, de l'emplacement de ce module dans l'architecture (serveur en établissement ou serveur académique) et du profil de l'administrateur (administrateur académique, relai académique, personne ressource en établissement...).
Découverte de GNU/Linux


Les Bases
L'arborescence GNU/Linux
L'arborescence GNU/Linux
Pour l'utilisateur, un système de fichiers est vu comme une arborescence : les fichiers sont regroupés dans des répertoires (concept utilisé par la plupart des systèmes d'exploitation). Ces répertoires contiennent soit des fichiers, soit récursivement d'autres répertoires. Il y a donc un répertoire racine et des sous-répertoires. Une telle organisation génère une hiérarchie de répertoires et de fichiers organisés en arbre.
Racine de l'arbre
/
(appelé slash ou root) : racine de l'arborescence sur laquelle sont raccrochés tous les sous-répertoires et fichiers.
Arborescence 1er niveau
bin/
: commandes liées au système, exécutables par tous ;boot/
: noyau et initrd nécessaires au démarrage (ou boot) du système ;dev/
: fichiers spéciaux effectuant le lien noyau / périphériques ;etc/
: fichiers de configuration ;home/
: répertoires de connexion (ou home directory) des utilisateurs ;lib/
: librairies essentielles au démarrage et modules du noyau ;mnt/
: contient les sous-répertoires de montage des partitions des autres périphériques ;opt/
: installation des applications autres ;proc/
: pseudo système de fichier représentant le noyau à un instant T ;root/
: répertoire de connexion de root ;sbin/
: commandes réservées à root et utilisées dans les niveaux de démarrage bas ;sys/
: pseudo système de fichier représentant les processus ;tmp/
: répertoire temporaire accessible à tous ;usr/
: commandes utilisées par les utilisateurs (bin), l'administrateur (sbin), mais aussi ensemble du système graphique ;var/
: ensemble des données variables du système (spools, logs, web, bases de données, ...).
Filesystem Hierarchy Standard (« norme de la hiérarchie des systèmes de fichiers », abrégé en FHS) définit l'arborescence et le contenu des principaux répertoires des systèmes de fichiers des systèmes d'exploitation GNU/Linux et de la plupart des systèmes Unix.
Fichiers et répertoires
Sous Unix, tout est fichier
Les différents types :
fichiers ordinaires : fichiers éditables
fichiers programmes : fichiers contenant des données compilées
répertoires : fichier contenant les infos sur les fichiers et sous-répertoires contenus (index)
fichiers spéciaux : fichier associé à un périphérique. Ne contient qu'une description relative au driver et type d'interface.
Adresse absolue / adresse relative
Un fichier ou un répertoire peut être défini :
soit par un chemin relatif à l'endroit où vous vous positionnez au moment T.
soit par un chemin absolu à partir de la racine de l'arborescence.
La gestion des droits
Droits de base UNIX
Les droits détaillés ci-après s'appliquent à l'ensemble des composantes de l'arborescence GNU/Linux, à savoir les fichiers et les répertoires.
Droits essentiels :
lecture
écriture
exécution
Autres droits :
sticky bit
setuid et setgid bits
Description d'un fichier
Représentation du type et des droits des fichiers
Le schéma précédent montre, dans le second bloc, comment sont affichés les droits associés à un fichier (ou répertoire).
Ce bloc se décompose en 4 sous-parties :
La première, codée sur un caractère, représente le type du fichier
On trouve ensuite 3 groupes de 3 caractères indiquant les droits de lecture/écriture/exécution.
Le type du fichier peut être un des éléments suivants :
d
: répertoirel
: lien symboliquec
: périphérique de type caractèreb
: périphérique de type blocp
: pile fifos
: socket-
: fichier classique
Exemple
Fichiers de périphériques :
brw-rw---- 1 root disk 8, 0 nov 12 08:17 /dev/sda
brw-rw---- 1 root cdrom 3, 0 nov 12 08:17 /dev/hda
crw-r----- 1 root kmem 1, 1 nov 12 08:17 mem
crw-rw---- 1 root root 4, 0 nov 12 08:17 tty0
Répertoires :
drwxr-xr-x 13 root root 4096 oct 20 10:22 /usr
drwxr-xr-x 17 user1 group1 4096 oct 31 09:18 /home/user1
Fichiers standards :
-rw-r--r-- 1 root root 2008 oct 17 19:36 /etc/inittab
-rw-r--r-- 1 root root 724 déc 20 2006 /etc/crontab
-rwxr-x--1 root root 1024 oct 29 /home/user1/monScript
Lien symbolique :
lrwxrwxrwx 1 root root 31 oct 27 15:00 /var/lib/postgresql/8.3/main/root.crt -> /etc/postgresql-common/root.crt
Socket :
srw-rw-rw- 1 root root 0 nov 12 08:18 /var/run/gdm_socket
Détail des droits standards
Comme énoncé précédemment, les droits sont codés sur 3 jeux de 3 droits.
Cet ensemble de 3 droits sur 3 entités se représente généralement de la façon suivante : on écrit côte à côte les droits r (Read/lecture), w (Write/écriture) puis x (eXecute/exécution) respectivement pour le propriétaire (u), le groupe (g) et les autres utilisateurs (o). Les codes u, g et o (u comme user, g comme group et o comme others) sont utilisés par les commandes UNIX qui permettent d'attribuer les droits et l'appartenance des fichiers.
Lorsqu'un droit est attribué à une entité, on écrit ce droit (r, w ou x), et lorsqu'il n'est pas attribué, on écrit un '-'. Par exemple : rwxr-xr--
Droits Spécifiques
SUID Bit
Ce droit s'applique aux fichiers exécutables, il permet d'allouer temporairement à un utilisateur les droits du propriétaire du fichier, durant son exécution.
En effet, lorsqu'un programme est exécuté par un utilisateur, les tâches qu'il accomplira seront restreintes par ses propres droits, qui s'appliquent donc au programme.
Lorsque le droit SUID est appliqué à un exécutable et qu'un utilisateur quelconque l'exécute, le programme détiendra alors les droits du propriétaire du fichier durant son exécution.
Bien sûr, un utilisateur ne peut jouir du droit SUID que s'il détient par ailleurs les droits d'exécution du programme. Ce droit est utilisé lorsqu'une tâche, bien que légitime pour un utilisateur classique, nécessite des droits supplémentaires (généralement ceux de root). Il est donc à utiliser avec précaution.
-r-s--x--x 1 root root 15540 jun 20 2004 /usr/bin/passwd
C'est un s si le droit d'exécution du propriétaire est présent, ou un S sinon. Il se place donc comme ceci : ---s------ ou ---S------
SGUID Bit
Ce droit fonctionne comme le droit SUID, mais appliqué aux groupes. Il donne à un utilisateur les droits du groupe auquel appartient le propriétaire de l'exécutable et non plus les droits du propriétaire.
De plus, ce droit a une tout autre utilisation s'il est appliqué à un répertoire. Normalement, lorsqu'un fichier est créé par un utilisateur, il en est propriétaire, et un groupe par défaut lui est appliqué (généralement users si le fichier a été créé par un utilisateur, et root s'il a été créé par root). Cependant, lorsqu'un fichier est créé dans un répertoire portant le droit SGID, alors ce fichier se verra attribuer par défaut le groupe du répertoire. De plus, si c'est un autre répertoire qui est créé dans le répertoire portant le droit SGID, ce sous-répertoire portera également ce droit.
-rwxr-sr-x 1 root utmp 319344 avr 21 2008 /usr/bin/xterm
C'est un s si le droit d'exécution du propriétaire est présent, ou un S sinon. Il se place donc comme ceci : ---s------ ou ---S------
Sticky Bit
Lorsque ce droit est positionné sur un répertoire, il interdit la suppression des fichiers qu'il contient à tout utilisateur autre que le propriétaire. Néanmoins, il est toujours possible pour un utilisateur possédant les droits d'écriture sur ce fichier de le modifier (par exemple de le transformer en un fichier vide).
Notation : il est représenté par la lettre t
ou T
, qui vient remplacer le droit d'exécution x
des autres utilisateurs que le propriétaire et ceux appartenant au groupe du fichier, de la même façon que les droits SUID et SGID. La majuscule fonctionne aussi de la même façon, elle est présente si le droit d'exécution x caché n'est pas présent : ---------t ou ---------T
Exemple : le répertoire /tmp
drwxrwxrwt 23 root root 4096 oct 20 14:27 /tmp/
Listes de contrôle d'accès
Une liste de contrôle d'accès ou ACL, permet de définir une liste de permission sur un fichier ou répertoire.
Aux habituels utilisateur, groupe et autre, il est possible d'étendre le nombre d'utilisateurs et de groupes ayant des droits sur un même fichier
Les ACLs s'ajoutent aux droits standards. Lorsqu'on liste les droits d'un fichier, les ACLs sont symbolisées par un "+".
-rwxrwx---+ 1 root professeurs 26 2009-05-27 16:37 fic
Les droits étendus apparaissent de la façon suivante :
user::rwx
user:p.nom:rwx
group::---
mask::rwx
other::---
Les ACLs d'un dossier père ne sont pas automatiquement repris pour le fichier fils.
Il est possible de modifier ce comportement, à associant des droits par défaut (grâce à l'attribut default).
Par exemple :
user::rwx
user:p.nom:rwx
group::rwx
mask::rwx
other::--x
default:user::rwx
default:user:p.nom:rwx
default:group::---
default:mask::rwx
default:other::---
La gestion des processus
Définition d'un processus
Un processus est un programme qui s'exécute en mémoire.
Tout processus lancé :
se voit attribuer un numéro appelé PID (Process Identifier).
est fils du processus qui l'a lancé. Le fils connaît le PID de son père, et en garde une trace sous la forme d'un numéro appelé PPID (Parent Process Identifier).
appartient à un propriétaire (UID - celui qui a lancé le programme et qui pourra interagir avec ce processus)
détermine son activité par un état : Actif, Exécutable, Endormi, Zombi.
Si un processus disparaît, tous les processus fils disparaissent également, sauf quand un processus est raccroché à init
. Ainsi donc, à l'instar des fichiers, les processus sont organisés en arbre.
Enfin GNU/Linux est un système multi-tâche, c'est à dire que plusieurs processus peuvent être exécutés en même temps, en réalité, un seul utilise le processeur à la fois, ce dernier ne sachant effectuer qu'une seule instruction à la fois.
Etat d'un processus
Comme évoqué précédemment, un processus peut avoir un état : Actif, Exécutable, Endormi, Zombi.
Actif : le processus utilise le processeur, et est donc en train de réaliser des actions pour lequel il a été conçu.
Exécutable : le processus est en exécution mais il est en attente de libération du processus qui est utilisé par un processus actif. Pour l'utilisateur, ceci est invisible car l'opération est très rapide.
Endormi : comme son nom l'indique, le processus est endormi, il ne fait rien. Par exemple, un processus peut attendre un événement pour redevenir Actif, comme par exemple, que l'on appuie sur une touche lors de l'affichage d'un message.
Zombie : un processus zombie est un processus terminé, mais le système ou le processus parent n'en a pas été informé. L'état d'un processus peut être modifié par un autre processus, par lui même ou par l'utilisateur.
Quelques Commandes
Actions sur les fichiers et répertoires
Se déplacer dans l'arborescence :
savoir où je me situe :
pwd
;aller vers :
cd [répertoire]
.
Lister les fichiers et les droits :
ls [-la] [fichier...] [répertoire...]
.
Lister les ACLs :
getfacl [fichier...] [répertoire...]
.
Créer/supprimer un répertoire :
créer un répertoire :
mkdir [-p] <répertoire...>
;supprimer un répertoire (déjà vide) :
rmdir <répertoire...>
.
Copier, renommer, déplacer :
copier :
cp [-fr] <source1>... <destination>
;renommer :
mv <source> <destination>
;déplacer :
mv <source1>... <destination>
.
Liens physiques, liens symboliques :
ln [-s] <origine> <destination>
.
Manipuler les droits & les propriétaires :
changer les droits : chmod [-R] [MODE|MODE-OCTAL] <fichier...> <répertoire...>
;
changer le propriétaire : chown [-R] <user>[.<group>] <fichier...> < répertoire...>
;
changer le groupe : chgrp [-R] <group> <fichier...> < répertoire...>
;
changer les ACLs : setfacl [-R] -m <u|g|o>:<utilisateur|group>:<droit> < répertoire...>
.
Gestion des processus
Voir l'état des processus :
à un instant T :
ps [auxef...]
;visualisation dynamique :
top
.
Arrêt d'un processus :
kill [-Num_Sig] <PID...>
.
Autres commandes diverses
passwd : permet de changer le mot de passe d'un utilisateur système (il ne permet pas de changer les mots de passe des utilisateurs dans un annuaire LDAP)
passwd
sans option modifie le mot de passe de l'utilisateur courant.
passwd nom_d_utilisateur
permet de changer le mot de passe d'un autre utilisateur.
Si la commande est exécuté par un utilisateur autre que "root" le mot de passe actuel sera demandé.
sort : trier des lignes en fonction d'une ou plusieurs clés :
sort [-ndtX] [-k num_champs] fichier...
.
grep : rechercher des chaînes de caractère dans un ou plusieurs fichiers :
grep [-vni] chaîne fichier...
.
cut : extraire des colonnes d'un ou plusieurs fichiers :
cut -f <nombre> [options] fichier...
.
wc : déterminer le nombre de lignes, mots ou caractères dans un ou plusieurs fichiers :
wc [-lwc] fichier...
.
tail et head : visualiser les dernières ou les premières lignes d'un fichier :
tail [-n] fichier
;head [-n] fichier
.
screen : multiplexeur de terminaux en mode texte. Il permet de détacher un terminal et de le récupérer en cas de déconnexion. Ce logiciel est particulièrement adapté aux travaux à distance, en cas de coupure réseau il est possible de reprendre la main dessus le serveur. Voici le fonctionnement de base :
lancer un nouveau terminal :
screen
;détacher ce terminal :
ctrl a d
;re-attacher le terminal :
screen -rd
.
Les conteneurs
Pour gérer les conteneurs, différentes commandes sont disponibles :
- installation d'un paquet dans un conteneur :
apt-eole install-conteneur (nom_du_conteneur) paquet
- statut de tous les conteneurs :
lxc-status
; - arrêt de tous les conteneurs :
service lxc stop
; - démarrage de tous les conteneurs :
service lxc start
; - arrêt d'un conteneur :
lxc-halt -n (nom_du_conteneur)
; - forcer l'arrêt d'un conteneur :
lxc-stop -n (nom_du_conteneur)
; - démarrage d'un conteneur :
lxc-start -n (nom_du_conteneur) -d
- entrer dans un conteneur :
ssh (nom_du_conteneur)
.
Les conteneurs seront installés dans le répertoire /opt/lxc/
, mais, normalement, il n'est pas nécessaire de modifier les fichiers directement dans ce répertoire.
La gestion des onduleurs
Quelques commandes utiles :
- test d'une installation sans démarrer le service upsd :
upsdrvctl start
; - test de l'arrêt du serveur sans avoir à attendre que la batterie soit vide :
upsmon -c fsd
; - lister la configuration :
upsc eoleups@localhost
(où "eoleups" est un nom choisi arbitrairement pour la configuration de l'onduleur) ; - modifier la configuration :
upsrw eoleups@localhost
(où "eoleups" est un nom choisi arbitrairement pour la configuration de l'onduleur).
Les manuels
L'organisation du man
L'ensemble du man est organisé en sections numérotées de 1 à 9 pour les plus courantes :
commandes utilisateurs pouvant être exécutées quelque soit l'utilisateur
appels systèmes, c'est-à-dire les fonctions fournies par le noyau
fonctions des bibliothèques
périphériques, c'est-à-dire les fichiers spéciaux que l'on trouve dans le répertoire /dev
descriptions des formats de fichiers de configuration (comme par exemple /etc/passwd)
jeux
divers (macros, conventions particulières, ...)
outils d'administration exécutables uniquement par le super utilisateur (root)
autre section (spécifique à GNU/Linux) destinée à la documentation des services offerts par le noyau
Lorsque la documentation est interrogée à propos d'un terme présent dans plusieurs sections (ex : passwd
, à la fois commande et fichier de configuration), si le numéro de section n'est pas précisé, c'est toujours la section de numérotation la moins élevée qui sera affichée.
Contenu d'une page
Chaque page de man est structurée en paragraphes contenant des éléments particuliers.
Intitulé de la commande ou du fichier et section du manuel
Vérifier qu'il s'agit de la documentation attendue.
Exemple :
CP(1) Manuel de l'utilisateur Linux CP(1)
documentation pour la commande cp, section 1
PASSWD(5) Manuel de l'administrateur Linux PASSWD(5)
documentation pour le fichier passwd, section 5
Nom
comme son nom l'indique, il s'agit du nom de la commande ou du fichier ainsi que d'une description synthétique.
Exemple :
NOM
cp - Copier des fichiers.
Synopsis
Dans ce paragraphe, on retrouve la syntaxe d'une commande, c'est-à-dire l'ensemble des options et arguments disponibles.
Quelques précisions pour bien lire cette syntaxe : si à première vue elle peut paraître rébarbative, elle dit tout au sujet de la manipulation d'une commande.
Exemple :
cp [options] fichier chemin
Options GNU (forme courte) : [-abdfilprsuvxPR]
la commande cp
accepte des options (introduites par un "-") et des arguments (sans "-").
Les éléments spécifiés entre crochets sont facultatifs pour le fonctionnement de la commande.
Au contraire, les éléments indiqués sans crochets sont obligatoires et, s'ils sont omis, provoqueront une erreur.
Lorsque les options sont indiquées dans les mêmes crochets, elles peuvent être combinées. Dans le cas contraire, elles sont incompatibles et devront être utilisées séparément.
Enfin les options peuvent être abrégées (ex : -f) ou complètes (ex : --force), la signification est la même et elle est développée dans le paragraphe description
.
Description
Cette section du man détaille la totalité des options et arguments d'une commande, ou les éléments d'un fichiers de configuration.
Fichiers
Dans ce paragraphe, vous trouverez une liste de fichiers intéressants à consulter, en complément d'information pour une commande ou un fichier de configuration.
Voir aussi
(ou "See also")
Comme son nom l'indique, il s'agit d'une liste de commandes, fichiers, appels système... auquel on renvoie le lecteur pour compléter son information
Exemple :
VOIR AUSSI
passwd(1), login(1), group(5), shadow(5).
Cette page propose ici de consulter les commandes passwd
et login
dans la section 1 et les fichiers group
et shadow
dans la section 5 de la documentation.
Environnement
ici sont spécifiées les variables d'environnement qu'il est possible de configurer pour le fonctionnement de la commande ou du fichier.
L'éditeur de texte Vim
Qu'est ce que Vim ?
Vim est un éditeur de texte libre. Il est à la fois simple est puissant.
Il est néanmoins nécessaire de passer par un temps d'apprentissage pour maîtriser l'outil.
Pourquoi Vim ?
L'éditeur est généralement installé de base sur la plupart des distributions. C'est un logiciel stable et éprouvé.
L'éditeur peut être lancé directement sans interface graphique. Il est ainsi possible d'exécuter depuis le serveur.
De plus, Vim est pré-configuré par l'équipe EOLE. Il n'y aura pas de problème de balise de fin de ligne, de nombre d'espace lors de l'indentation, ... Problème qu'il est possible de rencontrer avec d'autres éditeurs.
Les modes Vim
Introduction
Vim utilise un système de "modes". Ce concept de base est indispensable pour comprendre le fonctionnement du logiciel.
Vim est un éditeur entièrement accessible au clavier. Un ensemble de commande permet d'accéder à un ensemble de fonctionnalité. Pour que l'éditeur distingue la saisie de commande (le mode "normal") et la saisie de texte (le mode "insertion"), différents modes sont utilisés.
Il existe également le mode "visuel" permettant de sélectionner une zone de texte où sera appliquée un ensemble de commande.
Cette distinction n'existe pas, généralement, dans les autres éditeurs. Ils utilisent alors des entrées dans un menu graphique ou des raccourcis clavier à la place du mode "normal".
Comparé au mode graphique, le mode commande ne nécessite pas l'usage de la souris pour rechercher le bon menu. Par rapport aux raccourcis clavier, le mode commande est souvent plus facile à se rappeler (write pour écrire).
Passage d'un mode à l'autre
Pour passe au mode "normal", il suffit de taper la touche Echap
ou Esc
.
Pour passer au mode "insertion" (depuis le mode "normal") :
- insérer avant le curseur :
i
(ou la toucheInser
du clavier) ; - insérer après le curseur :
a
; - insérer en début de ligne :
I
; - insérer en fin de ligne :
A
; - insérer une ligne après :
o
; - insérer une ligne avant :
O
; - supprime pour remplacer un (et un seul) caractère :
s
; - supprime pour remplacer la ligne complète :
S
; - remplacer un caractère :
r
; - remplacer plusieurs caractères :
R
;
Pour passer au mode "visuel" (depuis le mode "normal") :
- sélection caractère par caractère :
v
; - sélection ligne par ligne :
V
; - sélection colonne par colonne :
ctrl v
.
Première prise en main
Exécuter Vim
Pour exécuter Vim, il suffit de taper vim
dans l'interpréteur de commande. Il est aussi possible d'ouvrir directement un fichier en faisant vim fichier.txt
.
Ouvrir un fichier
En mode normal, taper : :edit fichier.txt
(ou :e fichier.txt
).
Insérer du texte
Passer en mode insertion : i
et taper votre texte.
Enregistrer le texte
Quitter le mode insertion : esc
.
Enregistrer le texte : :write
(ou :w
).
Quitter l'éditeur
Pour quitter l'éditeur : :quit
(ou :q
).
Remarque
Vim créé un "buffer" lorsque l'on édite un fichier. Cela signifie que l'on ne modifie pas directement le fichier. Il faut sauvegarder les changements sous peine de perdre les modifications.
Le buffer est sauvegardé de façon fréquente dans un fichier "swap" (généralement .fichier.txt.swp
). Ce fichier est supprimé lorsqu'on enregistre ou ferme le document.
Les déplacements
- se déplacer d'un caractère vers la gauche :
h
; - se déplacer de 20 caractères vers la gauche :
20h
; - se déplacer d'une ligne vers le bas :
j
; - se déplacer de 20 lignes vers le bas :
20j
; - se déplacer d'une ligne vers le haut :
k
; - se déplacer d'un caractère vers la droite :
l
; - se déplacer au début du prochaine mot :
w
; - se déplacer au début de deux mots :
2w
; - revenir au début du mot précédent :
b
; - se déplacer à la fin du prochain mot :
e
; - se déplacer à la prochaine phrase :
)
; - revenir à la phrase précédente :
(
; - se déplacer au prochain paragraphe :
}
; - revenir au paragraphe précédent:
{
; - revenir au début de la ligne :
^
; - aller à la fin de la ligne :
$
; - remonter d'un écran :
pgup
; - descendre d'un écran :
pgdown
; - descendre à la fin du fichier :
G
; - aller à la ligne 20 :
20G
; - aller au début de la page courante :
H
; - aller au milieu de la page courante :
M
; - aller à la fin de la page courante :
L
; - revenir à l'emplacement précédent :
ctrl o
; - aller à l'emplacement suivant :
ctrl i
; - la troisième occurrence de la lettre "e" :
3fe
;
Il est possible de "marquer" des positions dans le texte. Cela permet de revenir très facilement à cet emplacement plus tard.
Pour cela, il faut utiliser la commande m
suivi du nom de la marque (c'est à dire une lettre). Par exemple : ma
. Pour revenir à la marque, il suffira de taper : 'a
.
Recherche et remplacement de texte
Rechercher
- chercher les occurrences EOLE :
/EOLE
; - chercher les mots EOLE :
/\<EOLE\>
; - chercher l'occurrence suivante :
n
; - chercher l'occurrence précédente :
N
; - chercher les autres occurrences du mot sous le curseur :
*
; - chercher en arrière les autres occurrences du mot sous le curseur :
ctrl #
;
Remplacement
- remplacer le mot EOLE par Scribe :
:%s/EOLE/Scribe/g
- remplacer le mot EOLE par Scribe en demande confirmation :
:%s/EOLE/Scribe/gc
- remplacer le mot EOLE par Scribe sur les 20 première ligne d'un fichier :
:0,20s/EOLE/Scribe/g
Couper, copier et coller
- couper un texte sélectionné :
d
; - couper le caractère sélectionné :
x
; - couper les deux caractères suivants :
d2l
; - couper un mot :
dw
; - couper la ligne courante :
dd
; - couper 2 lignes :
d2
; - couper le paragraphe :
d}
; - copier un texte sélectionné :
y
; - coller le texte après :
p
. - coller le texte avant :
P
;
Le mode fenêtre
Ouvrir plusieurs fenêtres
Il est possible d'ouvrir plusieurs fichiers en même temps.
Pour cela, il suffit de lancer plusieurs fois la commande :e nomdufichier
.
Pour passer d'un buffer à un autre, il suffit de taper :bn
(n étant le numéro du buffer).
Ouvrir plusieurs tabulations
Pour ouvrir le fichier dans une nouvelle tabulation : :tabedit fichier.txt
.
Pour se déplacer de tabulation en tabulation, il suffit d'utiliser ctrl alt pgup
et ctrl alt pgdown
.
Voir plusieurs fichiers
Il est possible de voir plusieurs fichiers dans la même interface.
Pour cela, il faut créer un nouveau buffer en tapant :new
et ensuite ouvrir le nouveau fichier : :e fichier.txt
.
Pour se déplacer dans les buffers, il faut utiliser le raccourci ctrl w
et les touches de déplacement hjkl
.
Pour se déplacer de buffer en buffer, il est possible également de taper deux fois ctrl w
.
Il est ensuite possible de déplacer les fenêtres horizontalement et verticalement avec ctrl w
et les touches de déplacement en majuscule HJKL
.
Pour fermer une fenêtre, il suffit de faire :q
.
Voir plusieurs fois le même fichier
Il est possible d'ouvrir plusieurs fois le même buffer en faisant ctrl w s
. Cela permet de voir simultanément plusieurs parties du même texte.
Attention
Dans ce cas, il s'agit du même buffer. Une modification dans une vue sera automatiquement reporter dans les autres vues.
Système de fichiers
Il est possible d'ouvrir une fenêtre de système de fichiers en faisant : :Sex
ou :Vex
.
Autres
Complétion automatique
La complétion permet de compléter un mot automatiquement à partir d'une liste de mot présent dans le texte en court d'écriture. Il est souvent utile pour ne pas faire d'erreur dans le nom des fonctions.
Pour l'utiliser, il suffit de commencer a écrire le début du mot et faire ctrl n
ou ctrl p
.
Annuler et refaire
Pour annuler la dernière action : u
;
Pour revenir sur l'annulation : ctrl r
.
Passer un texte en majuscule
Pour passer un texte en majuscule, il suffit de taper ~
ou maj u
.
Voir la différence entre les fichiers
Vim permet également de voir la différence entre deux textes. Pour cela, il suffit de lancer en ligne de commande :
vimdiff nomdufichieroriginal.txt nomdufichiermodifier.txt
Liens connexes
Les commandes à distance avec SSH
Le protocole SSH
SSH[3] (Secure Shell) et un protocole de communication sécurisé. Il permet différentes actions comme l'authentification à distance, l'exécution de commande à distance ou le transfert de fichier.
Le protocole est chiffré par un mécanisme d'échange de clés de chiffrement effectué au début de la connexion.
Le transfert de fichier d'une machine à une autre se fait par un protocole proche de FTP[4]. La différence étant que les transferts du client et du serveur se font par un tunnel chiffré.
SSH sous GNU/Linux
Connexion à distance
Le client SSH est installé par défaut sur la plupart des distributions. Si ce n'est pas le cas, il faut installer un paquet dont le nom est généralement "openssh-client".
Une fois installé, il est possible d'ouvrir une session à distance de la manière suivante :
ssh utilisateur@ip_serveur
Si vous ne spécifiez pas de nom d'utilisateur, c'est l'utilisateur courant de votre session GNU/Linux qui sera utilisé.
Pour lancer des applications graphiques, il faudra le préciser dans la commande ssh en rajoutant l'option -X :
ssh -X utilisateur@ip_serveur
.
A la première connexion, le message suivant apparaît :
Warning: Permanently added 'xxxxx' (RSA) to the list of known hosts.
Cela signifie qu'on ne s'est jamais connecté sur cette station et qu'un identifiant est ajouté à la liste des hôtes connus.
Il peut arriver que le certificat du serveur change (par exemple en cas de réinstallation).
Le message suivant apparaîtra :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
65:6d:9d:c0:78:f7:60:bf:13:86:59:16:53:07:3b:a4.
Please contact your system administrator.
Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this message.
Offending key in /home/xxx/.ssh/known_hosts:12
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
X11 forwarding is disabled to avoid man-in-the-middle attacks. Permission denied (publickey,password).
Ce message nous apprend plusieurs choses :
- le serveur ssh a une clef différente de celle de notre dernier passage ;
- le fichier comprenant les hôtes connus est
/home/xxx/.ssh/known_hosts
; - l'identifiant de l'hôte est spécifié à la ligne 12 (Offending key in /home/xxx/.ssh/known_hosts:12).
Si vous êtes sûr que l'hôte est le bon, il vous suffira de supprimer la ligne 12 du fichier known_hosts et de relancer une connexion.
Il faudra spécifier le mot de passe de l'utilisateur pour se connecter.
Ssh propose également la connexion par échange de clef. Cela permet de se connecter à distance sans connaître le mot de passe de l'utilisateur.
L'échange de clef peut être réalisé par l'intermédiaire d'un serveur Zéphir. Pour plus d'informations, consulter la documentation spécifique à ce module.
Exécution de commande à distance
Une fois connecté à distance, vous pouvez lancer n'importe quelle action comme si vous étiez en local.
Transfert de fichier à distance
Pour envoyer un fichier sur un serveur, il faut faire :
scp nom_du_fichier utilisateur@ip_serveur:/repertoire/de/destination/
Pour récupérer un fichier d'un serveur :
scp utilisateur@ip_serveur:/repertoire/source/nom_du_fichier /repertoire/de/destination/
Pour récupérer un répertoire d'un serveur :
scp -r utilisateur@ip_serveur:/repertoire/ /repertoire/de/destination/
Enfin, il est possible d'avoir un shell proche de la commande FTP en faisant :
sftp utilisateur@ip_serveur
Truc & astuce
Sur la plupart des gestionnaires de fichier disponibles sous GNU/Linux, il est possible de faire des transferts de fichier avec SSH graphiquement (logiciel Filezilla par exemple).
SSH sous Windows
Exécution de commande à distance
Putty est un logiciel libre implémentant un client Telnet[5] et SSH[3] pour Unix et Windows.
http://www.chiark.greenend.org.uk/~sgtatham/putty/
Dans l'environnement EOLE, il permet de se connecter à un serveur à distance depuis un poste Windows et, ainsi, pouvoir exécuter des commandes.
La connexion avec Putty au serveur se fait en utilisant le protocole SSH.
Remarque
Sur le module Scribe,
Putty est pré-installé dans le répertoire personnel d'admin (U:\client\putty.exe
).
Configuration pour les serveurs EOLE
Pour obtenir un meilleur environnement de travail, la configuration par défaut de Putty doit être modifiée.




La dernière capture montre comment autoriser la redirection des applications graphiques vers votre poste.
Cependant vous devrez utiliser Xming.
C'est un logiciel libre permettant d'émuler un serveur X vers lequel sera redirigé l'application graphique lancée à travers ssh sur le serveur EOLE.
Transfert de fichier à distance
Il existe une interface graphique de transfert de fichier à distance. Il s'agit de WinSCP.
On utilise le logiciel comme un client FTP normal.
Quelques références
Le site du Kernel Linux : http://www.kernel.org ;
Le projet GNU : http://www.gnu.org ;
Site réputé pour ses documentations et son forum d'entraide : http://www.lea-linux.org/ ;
Guide de survie du débutant : http://www.delafond.org/survielinux/ ;
Un manuel en ligne (man) : https://www.tldp.org/guides.html ;
Définitions sur Wikipédia :
Noyau Linux : http://fr.wikipedia.org/wiki/Noyau_Linux,
Projet GNU :http://fr.wikipedia.org/wiki/GNU,
Distribution :http://fr.wikipedia.org/wiki/Distribution_Linux,
Les Permissions Unix : http://fr.wikipedia.org/wiki/Permissions_Unix.
Reconfiguration
Suite à un diagnostic, à une modification de la configuration ou à une mise à jour, il est nécessaire de reconfigurer le serveur.
On réalise cette opération avec la commande reconfigure
, plutôt qu'avec la commande instance
.
Truc & astuce
Un fichier config.eol.bak
est sauvegardé dans le répertoire /etc/eole/
à la fin de l'instanciation et à la fin de la reconfiguration du serveur.
Cela permet de conserver la dernière configuration fonctionnelle du serveur.
À chaque reconfiguration du serveur un fichier config.eol.bak.1
est généré. Celui-ci est une copie de la configuration fonctionnelle de l'état précédant.
S'il existe une différence entre config.eol
et config.eol.bak
c'est que la configuration du serveur a été modifiée mais qu'elle n'a pas encore été appliquée.
Reconfigure
Cette commande reconfigure
sert à appliquer un changement de configuration (par exemple, le changement d'adressage IP) ou à appliquer des changements apportés par la mise à jour d'un ou de plusieurs paquets.
Avec Maj-Auto
, un message indique s'il est nécessaire de lancer reconfigure
.
Cette commande :
ré-applique le SID[7] trouvé dans l'annuaire sur les modules Horus et Scribe ;
supprime des paquets (utilisé pour les noyaux notamment) ;
exécute les scripts pre et postreconf ;
met à jour les valeurs par défaut des dictionnaires ;
recréé le compte
admin
s'il n'a pas été trouvé (modules Scribe et Horus) ;contrôle la version du noyau en fonctionnement et demande un redémarrage si ce n'est pas la dernière version (redémarrage automatique si mise à jour par EAD) ;
relance les services.
reconfigure is not instance : pourquoi reconfigure au lieu d'instance
La commande instance
est exécutée à l'installation d'un nouveau serveur.
Cette commande :
initialise les mots de passe des comptes
root
,eole
etadmin
;propose de créer des comptes d'administration supplémentaires ;
génère un nouveau SID ;
génère l'annuaire et les bases MySQL si inexistants ;
lance des commandes spécifiques à l'instanciation ;
copie, patch et renseigne les templates ;
(re)lance les services ;
contrôle la version du noyau en fonctionnement et demande un redémarrage si ce n'est pas la dernière version (reboot automatique si mise à jour par EAD).
Attention
Il existe plusieurs contre-indications à l'utilisation de la commande instance
sur un serveur déjà instancié :
les commandes exécutées peuvent être différentes ;
la commande instance demande une interaction tandis que reconfigure est automatique, il ne pose pas de question et est donc plus rapide ;
l'interaction est source d'erreur (possibilité d'écrasement de l'annuaire ou des bases de données). Sur les modules Scribe et Horus si l'utilisateur répond oui à la question concernant la re-génération de l'annuaire, tous les comptes utilisateurs et les stations intégrés au domaine sont effacés.
Remarque
Des comptes d’administration supplémentaires peuvent être ajoutés en dehors de la procédure d’instance grâce à la commande add_restricted_admin.
L'interface d'administration EAD
Principe général
L'EAD (Eole ADmin) est l'interface d'administration des modules EOLE. Il s'agit d'une interface web, accessible avec un navigateur à l'adresse https://<adresse_module>:4200
.
Attention
Depuis la version EOLE 2.6, il n'est plus possible d'accéder à l'EAD à l'aide de l'adresse IP du serveur, il faut impérativement utiliser un nom de domaine et que celui-ci soit présent dans le certificat SSL.
Cette restriction est notamment due au durcissement du support du protocole HTTPS[10] par les navigateurs.
L'EAD est composé de deux parties :
un serveur de commandes (ead-server), présent et actif sur tous les modules ;
une interface (ead-web), désactivable depuis l'interface de configuration du module dans l'onglet
Services
en passantActiver l'interface web de l'EAD
ànon
.
Chaque module dispose d'une interface utilisateur EAD. Certains modules (Zéphir, Sphynx, Seth, ...) ne disposent que de la version de base qui permet d'effectuer les tâches de maintenance (mise à jour du serveur, diagnostic, arrêt du serveur, ...).
Une version plus complète existe pour les autres modules (Horus, Scribe, Amon, ...) incluant des fonctionnalités supplémentaires.
ConseilAide
Un point d'interrogation est accessible en bas à droite de certaines pages, il permet d'afficher une aide associée.

Certificats SSL
Pour avoir accès à l'EAD, il faut impérativement que le nom de domaine soit présent dans le certificat SSL.
Il est notamment impossible de se connecter à l'EAD avec une simple adresse IP.
Il existe plusieurs méthodes pour connaître les noms de domaine présents dans le certificat SSL, par exemple il est possible d'utiliser un navigateur Internet.
ExempleExemple avec Firefox
Cliquer sur le cadenas à côté de l'URL
Cliquer sur la flèche dirigée vers la droite pour afficher les détails de la connexion
Cliquer sur le bouton
Plus d'informations
, le nom de domaine principal du certificat apparaît alors dans la partieIdentité du site web
etSite web
Il est possible que des noms alternatifs soient renseignés dans le certificat. Pour les retrouver, cliquer sur le bouton
Afficher le certificat
, puis sur l'ongletDétails
et sélectionner la ligneNom alternatif du sujet de certificat
, les noms alternatifs sont affichés dans la boîteValeur du champ
.
Attention
Attention, même si la bonne adresse IP apparaît dans le certificat, elle ne sera pas prise en compte.
Truc & astuce
Si le nom de domaine n’apparaît pas et que le certificat est de type autosigné, il faut le rajouter dans l'onglet Certificats ssl
de l'interface de configuration du module en mode expert.
Truc & astuce
La modification, dans l'interface de configuration du module, de l'un des paramètres constituant un certificat (nom d’établissement, numéro RNE, etc...) suivie d'une reconfiguration du module ne régénère pas les certificats. Un message explicite le signale lors de l'étape de reconfiguration.
Après changement des paramètres il est nécessaire de supprimer le certificat puis d'exécuter la reconfiguration du module :
rm -f /etc/ssl/certs/eole.crt
reconfigure
Premier pas dans l'administration d'un serveur
Lorsque vous vous êtes connecté sur un serveur de commandes, vous avez quatre éléments :
la gondole d'administration ;
le menu d'action (propose les actions auxquelles vous avez accès) ;
les onglets (les serveurs enregistrés sur l'interface) ;
la partie centrale ou espace de travail (il s'agit de la partie venant du serveur de commandes).
1 - La gondole d'administration
Elle permet d'accéder aux actions de base de l'interface (ajout/suppression de serveur, déconnexion, retour vers l'accueil, choix de la feuille de style CSS, connexion locale).
2 - Le menu d'action
Il permet d'accéder aux actions disponibles sur le serveur de commandes.
3 - Les onglets (les serveurs enregistrés sur l'interface)
Ils permettent d'accéder aux divers serveurs EOLE enregistrés sur l'interface.
4 - La partie centrale ou espace de travail
Les éléments affichés dans cette partie viennent du serveur de commandes.
C'est un conteneur pour les actions (sous forme de rapport, formulaire ...).
La page d'accueil d'un serveur de commandes affiche les rapports de :
- mise à jour (sur tous les modules) ;
- mise à jour de listes de sites interdits sur le module Amon ;
- sauvegarde Bareos sur les modules Horus et Scribe ;
- importation sur le module Scribe.
Elle affiche également les diodes d'état du serveur (agents Zéphir).
Truc & astuce
Les agents Zéphir peuvent être consultés directement en utilisant l'adresse :
http://<adresse_module>:8090
Accéder directement à l'EAD d'un serveur Scribe depuis l'extérieur
Le serveur Scribe étant derrière un serveur Amon, la configuration des deux modules permet de faire écouter l'EAD du serveur Scribe sur le port 4203 et donc d'y accéder depuis l'extérieur grâce à une redirection Nginx.
Avantages
Cette configuration présente plusieurs avantages par rapport à la méthode consistant à ajouter le serveurs de commandes du module Scribe dans l'interface EAD du serveur Amon :
- elle ne nécessite pas de déclarer le serveur SSO du serveur Scribe comme source d'authentification de l'EAD du serveur Amon ;
- il n'y a pas de problème d'incompatibilité (templates, protocoles obsolètes, ...) dans le cas où les versions des EAD des deux modules sont différentes ;
- elle simplifie la gestion des certificats.
Configuration côté Scribe
Dans l'interface de configuration du module Scribe, en mode expert, aller dans l'onglet Ead-web
et passer la variable Activer l'interface web de l'EAD sur un second port
à oui
et vérifier que le port personnalisé est bien le 4203
.
Une fois le module paramétré de cette manière, une reconfiguration du serveur à l'aide de la commande reconfigure est nécessaire afin que l'EAD écoute sur le port 4203
.
Configuration côté Amon
Dans l'interface de configuration du module Amon, aller dans l'onglet Reverse proxy
, passer la variable Activer la redirection de l'EAD d'un Scribe
à oui
puis renseigner l'adresse IP du module Scribe et vérifier que le port renseigné est le 4203
.
Une fois le module paramétré de cette manière, une reconfiguration du serveur à l'aide de la commande reconfigure est nécessaire afin que la redirection soit appliquée.
Truc & astuce
L'autorisation d'accès au port configuré est gérée par ERA via la directive optionnelle cachée[11] : ead_scribe
.
Ajout/suppression de serveurs
Il est possible de connecter plusieurs serveurs de commandes à une même interface.
Une seule interface sert alors à administrer l'ensemble des serveurs EOLE d'un établissement.
Attention
Depuis la version EOLE 2.6, il n'est plus possible d'accéder à l'EAD à l'aide de l'adresse IP du serveur, il faut impérativement utiliser un nom de domaine et que celui-ci soit présent dans le certificat SSL.
Cette restriction est notamment due au durcissement du support du protocole HTTPS[10] par les navigateurs.
Ajout/suppression de serveurs de commandes dans l'interface
L'interface de l'EAD est une coquille vide.
Elle permet de se connecter à des serveurs de commandes qui proposent des actions.
Lors de l'instanciation du serveur, le serveur de commandes du serveur est enregistré auprès de son interface.
La coquille n'est pas laissée vide.
Il est possible d'enregistrer plusieurs serveurs EOLE sur l'interface.
On obtient ainsi un point d'entrée unique pour administrer l'ensemble des serveurs d'un établissement.
Une seule interface web dans laquelle chaque onglet représente un des serveurs.
Il est ensuite possible de gérer les accès ainsi que les actions autorisées par utilisateur ou par groupe.
Ajout de serveur
Dans la gondole d'administration de l'EAD, cliquer sur Ajouter serveur
et renseigner :
- le nom DNS du serveur ;
- le port du serveur de commandes (4201) ;
- le nom à afficher dans l'onglet ;
- le nom de l'utilisateur
eole
du serveur de commandes à enregistrer ; - le mot de passe correspondant (sur le serveur à enregistrer).
Attention
Depuis la version EOLE 2.6, si le certificat du serveur à ajouter n'est pas signé par une autorité de certification[12] connue du serveur hébergeant le frontend EAD, il sera nécessaire de copier sa CA sur ce dernier.
L'exemple suivant décrit la copie et l'intégration de la CA d'un module Scribe sur un module Amon :
root@amon:~# scp root@scribe:/etc/ssl/certs/ca_local.crt /usr/local/share/ca-certificates/
root@amon:~# update-ca-certificates
Truc & astuce
Le compte root
peut être utilisé à la place du compte eole
pour toutes les manipulations présentées ici.
Suppression de serveur
Suppression normale
C'est le mécanisme de suppression classique. L'onglet du module est vert et on souhaite le retirer.
Dans la gondole d'administration, cliquer sur Supprimer Serveur
:
- choisir le serveur à supprimer ;
- entrer le login
eole
du serveur de commandes à désinscrire ; - entrer le mot de passe ;
- valider.
La référence sera supprimée côté interface et côté serveur de commandes.
Suppression forcée
Il ne faut utiliser la suppression forcée du serveur que si l'onglet est rouge ou que le mot de passe du serveur de commandes à supprimer est inconnu.
Attention
Il est préférable d'utiliser la suppression normale d'un serveur.
Dans la gondole d'administration, cliquez sur Supprimer Serveur
:
- choisir le serveur à supprimer ;
- entrer le login (utilisez le compte
eole
du serveur de l'interface et non celui du serveur de commandes à désinscrire) ; - entrer le mot de passe ;
- cocher la case
Forcer la désinscription
; - valider.
La référence ne sera supprimée que du côté de l'interface.
Truc & astuceDésinscription forcée suite à un changement d'adresse IP
Si vous avez modifié l'adresse IP d'un serveur, il est possible que son onglet devienne rouge dans l'EAD.
Il faut alors utiliser la suppression forcée et ré-enregistrer le serveur.
Complément technique
Les interfaces associées au serveur de commandes local sont enregistrées dans le fichier /usr/share/ead2/backend/config/frontend_keys.ini
Exemple
[keys]
127.0.0.1 = 157b551f55359d92d20e412e83f87f9ea2e47ab3
Les serveurs de commandes associés à l'interface EAD locale sont enregistrés dans le fichier /usr/share/ead2/frontend/config/servers.ini
Exemple
[1]
url = https://127.0.0.1
port = 4201
comment = amon
key = 157b551f55359d92d20e412e83f87f9ea2e47ab3
Si nécessaire, il est possible de réinitialiser ces fichiers à l'aide des commandes suivantes :
echo '[keys]' > /usr/share/ead2/backend/config/frontend_keys.ini
echo '' > /usr/share/ead2/frontend/config/servers.ini
reconfigure
Surveillance de l'état du serveur
La page d'accueil d'un serveur de commandes affiche les rapports de :
- mise à jour ;
- mise à jour de listes de sites interdits sur le module Amon ;
- sauvegarde Bareos sur les modules Horus et Scribe ;
- importation sur le module Scribe.
Elle affiche également les diodes d'état du serveur (agents Zéphir).
Les remontés des agents Zéphir sont classées dans 3 catégories : Système, Services et Utilisation.
Système
Quelques agents sont fournis de base et sont commun à tous les modules :
Informations systèmes
Occupations des disques
Statistiques réseau
État des sommes MD5 de paquets
D'autres agents sont disponibles suite à l'activation du service sur le serveur par l'intermédiaire de l'interface de configuration du module :
Onduleur
Surveillance de l'état des sommes MD5 des paquets
Truc & astuce
Les fichiers de configuration (en général ceux situés dans /etc
) ne sont pas concernés par cette vérification.
La commande suivante permet de forcer la vérification des MD5 (compter entre 1 et 2 minutes) :
/usr/share/eole/debsums/eole-debsums.sh
Rapport et suivi des modifications
La commande suivante affiche un rapport d'exécution :
root@amon:~# /usr/share/eole/debsums/show-reports.py
Container: root
===============
Filename: /var/log/eole-debsums/report.log
Last update: 2018-02-22 11:09:15
eole-amon:
/usr/share/eole/creole/dicos/30_amon.xml
Ignored by eole
---------------
Exceptions
Il est possible d'ajouter des listes de fichiers à ignorer dans le résultat debsums en les plaçant dans le répertoire : /etc/eole/debsums-ignore.d
(exemple : /etc/eole/debsums-ignore.d/academie.conf
).
Complément
Les fichiers modifiés par EOLE sont listés dans /usr/share/eole/debsums/eole-ignores
.
Services
Quelques agents sont fournis de base et sont commun à tous les modules :
État des interfaces réseau
Services distants
État des services
D'autres agents sont disponibles suite à l'activation du service sur le serveur par l'intermédiaire de l'interface de configuration du module :
État des démons bacula
Enfin d'autres agents sont propres à un module en particulier :
État des tunnels
Utilisation
Quelques agents sont fournis de base et sont commun à tous les modules :
Mise à jour
Validité des certificats
D'autres agents sont disponibles suite à l'activation du service sur le serveur par l'intermédiaire de l'interface de configuration du module :
Sauvegarde
Enfin d'autres agents sont propres à un module en particulier :
Statistiques Squid
Statistiques courrier
Application des règles bastion
Instance Dansguardian
Mise à jour antivirus Clam
Validité des certificats
Authentification locale et SSO
Dans l'EAD, il existe deux systèmes d'authentification :
Dans le cas de l'authentification SSO, le serveur de commandes et l'interface se connectent à un même serveur d'authentification.
Pour se connecter en tant qu'administrateur :
authentification SSO : l'utilisateur
admin
de l'annuaire associé au serveur sera utilisé ;authentification locale : les utilisateurs
root
eteole
peuvent être utilisés.
Authentification locale
L'authentification locale est un mécanisme plus simple mais moins souple que l'authentification SSO. Il utilise les comptes système de la machine hébergeant le serveur de commandes. Le nombre d'utilisateurs et leur gestion est donc plus limitée.
L'authentification locale est systématiquement activée et peut être utilisé conjointement avec l'authentification SSO.
Pour vous authentifier localement, dans la gondole d'administration :
- cliquer sur
authentification locale
; - cliquer sur le nom de votre serveur.
Vous accédez alors au formulaire d'authentification locale.
Si le serveur SSO n'est pas activé, vous arriverez sur ce même formulaire en cliquant sur l'onglet.
Remarque
Il est possible d'utiliser la gestion des rôles pour déléguer une partie de l'administration à d'autres comptes systèmes.
L'authentification SSO
Connexion
Entrer l'adresse https://<adresse_serveur>:4200
dans le navigateur et cliquer sur l'onglet du serveur à administrer.
Une re-direction vers le serveur SSO (https://<adresse_serveur>:8443/
) est effectuée et le formulaire d'authentification apparaît :

L'utilisation d'un serveur SSO permet de centraliser l'authentification. En s'authentifiant une seule fois vous pouvez vous connecter aux différents serveurs de commandes enregistrés dans l'interface (naviguer d'un onglet à l'autre).
Les rôles permettent d'utiliser d'autres comptes pour se connecter (ex : sur Scribe, les professeurs ont un rôle prédéfini).
Remarque
Pour utiliser l'authentification SSO, il est indispensable que le serveur SSO utilisé par l'interface et par les serveurs de commandes qui y sont inscrits soit identique.
Redémarrer, arrêter et reconfigurer
Il est possible de redémarrer, arrêter ou reconfigurer un module EOLE directement depuis l'interface d'administration EAD.
Ces actions sont accessibles depuis Système/Serveur
.
Remarque
Ces trois actions vous déconnectent de l'EAD.
Redémarrer un serveur

Reconfigurer un serveur

Arrêter un serveur

Mise à jour depuis l'EAD
Dans Système
/ Mise à jour
, l'EAD propose une interface de mise à jour du serveur, il est possible de :
de lister les paquets disponibles pour la mise à jour ;
de programmer une mise à jour différée (dans 3 heures par exemple, ou dans 0 heure pour le faire tout de suite) ;
d'activer / désactiver les mises à jour hebdomadaires (le jour et l'heure de la mise à jour automatique sont déterminés aléatoirement).
L'heure est définie aléatoirement entre 01h00 et 05h59 un des sept jours de la semaine.

Attention
Si la fréquence des tâches Schedule
est personnalisée dans l'interface de configuration du module, c'est cette dernière qui prévaut et l'activation/désactivation de la mise à jour hebdomadaire via l'EAD ou la commande manage_schedule n'est plus possible.
Truc & astuceRapport de mise à jour
Penser à consulter le rapport de mise à jour et l'état des services sur la page d'accueil.
RemarqueReconfiguration et redémarrage automatique
Une mise à jour lancée depuis l'EAD exécute automatiquement une reconfiguration du serveur avec la commande reconfigure
, il n'est donc pas nécessaire d'en lancer un par la suite comme c'est le cas depuis la console.
Si un redémarrage est nécessaire, celui-ci est effectué automatiquement dès la fin de la reconfiguration.
Arrêt et redémarrage de services
Dans l'EAD, il existe deux manières d'arrêt ou de redémarrage des services :
le mode normal ;
le mode expert.
Redémarrer ou arrêter des services (mode normal)
Pour utiliser la fonctionnalité en mode normal il faut dans un premier temps créer des groupes de services.
Création de groupes de services
Le nom des services, au sens système, n'est pas souvent parlant. Par exemple, il faut savoir que le service apache2
est le nom du serveur web.
Les groupes de services permettent de regrouper un ou plusieurs services sous une dénomination plus claire. Cela permet de regrouper et donc de faciliter le redémarrage/arrêt de services.
Exemple
Création un groupe de services nommé web
:
Pour créer un groupe, cliquer sur le bouton créer groupe
dans Système/Editeur de services
:
entrer le nom du groupe ;
choisir les services du groupe (cocher les cases) ;
cliquer sur la flèche verte ;
valider avec le bouton
Créer
.


Remarque
Un groupe de services peut être modifié en cliquant sur son nom dans la liste de gauche sous l'icône CRÉER GROUPE.
Un groupe de services peut être supprimé en cliquant sur la croix rouge sous son descriptif dans la liste de gauche sous l'icône CRÉER GROUPE.
Redémarrer ou arrêter un groupe de services
Une fois créé, un groupe apparaît dans l'onglet Système/Services (mode normal)
, il est alors possible de redémarrer ou d'arrêter le groupe de services.

Remarque
La gestion des rôles permet de déléguer l'accès à des actions, on peut ainsi permettre à la documentaliste de l'établissement de redémarrer le logiciel BCDI.
Tous les groupes de services lui seront néanmoins accessibles.
Complément technique
Les groupes de services déclarés dans l'EAD sont enregistrés dans le fichier /usr/share/ead2/backend/config/simple_services.ini
Exemple
[amon]
web = squid3#internet,networking#root,eole-guardian#internet,bastion#root
Redémarrer ou arrêter des services (mode expert)
Remarque
Les services liés au fonctionnement de l'EAD ne sont disponibles qu'en redémarrage. Sinon, vous perdrez tout accès à l'interface.
Pour relancer l'ensemble des services (sauf l'EAD et le serveur SSO) choisir le bouton : Redémarrer tous les services (hors EAD et SSO)
.
Rôles et association de rôles
L'EAD est composé, d'actions. Chaque action ayant un but bien précis.
L'EAD dispose d'un mécanisme de délégation d'actions à des utilisateurs déterminés.
Pour affecter certaines actions à un utilisateur, l'EAD utilise une mécanisme interne : les rôles.
Exemple
Par défaut sur les modules EOLE, l'utilisateur admin est associé au rôle administrateur.
Plusieurs rôles sont prédéfinis sur les différents modules EOLE et certains sont propres à certains d'entre eux :
administrateur ;
professeur (utilisé sur le module Scribe) ;
élève (utilisé sur le module Scribe) ;
administrateur de classe (utilisé sur le module Scribe) ;
administratif dans Scribe (utilisé sur le module Scribe) ;
administrateur du réseau pédagogique (utilisé sur le module Amon) ;
administrateur du Scribe (utilisé sur le module AmonEcole) ;
administrateur de l'Amon (utilisé sur le module AmonEcole).
Déclaration des actions
Les actions de l'EAD sont déclarées dans les fichiers : /usr/share/ead2/backend/config/actions/actions_*.cfg
Ces fichiers au format texte permettent de déclarer les fichiers python déclarant eux-mêmes des actions EAD à charger.
Ces fichiers sont situés dans /usr/share/ead2/backend/actions
et ses sous-répertoires.
Fichiers pris en compte
Sur un module EOLE, les fichiers suivants sont pris en compte :
-
/usr/share/ead2/backend/config/actions.cfg
: fichiers des actions de base ; - ainsi que tout les fichiers
actions_*.cfg
présents dans le répertoire/usr/share/ead2/backend/config/actions
.
Syntaxe des fichiers
Les fichiers d'action sont déclarés avec leur chemin court depuis /usr/share/ead2/backend/actions
et sans l'extension ".py".
Exemple
La déclaration des fichiers d'action suivants :
-
/usr/share/ead2/backend/actions/mes_actions.py
-
/usr/share/ead2/backend/actions/repertoire/autres_actions.py
prend la forme suivante dans le fichier actions_perso.cfg
:
$ cat /usr/share/ead2/backend/actions/actions_perso.cfg
mes_actions
repertoire/autres_actions
Gestion des rôles
Les rôles de l'EAD sont déclarés dans les fichiers : /usr/share/ead2/backend/config/perms/perm_*.ini
Ces fichiers au format ini permettent d'associer des actions (permissions) à un ou plusieurs rôles.
Fichiers pris en compte
Sur un module EOLE, les fichiers suivants sont pris en compte :
-
/usr/share/ead2/backend/config/perm.ini
: rôles de base ; -
/usr/share/ead2/backend/config/perm_local.ini
: rôles déclarés localement (édition manuelle ou via l'EAD) ; -
/usr/share/ead2/backend/config/perm_acad.ini
: rôles déclarés au niveau académique (via Zéphir) ; - ainsi que tout les fichiers
perm_*.ini
présents dans le répertoire/usr/share/ead2/backend/config/perms
.
Syntaxe des fichiers
Les permissions associent un rôle à une ou plusieurs actions.
Les fichiers perm*.ini
doivent posséder une section [role]
et une section [permissions]
.
Exemple
[role]
nom_du_role = libelle du role
[permissions]
action1 = nom_du_role
action2 = nom_du_role
Création de rôle via l'EAD
L'interface EAD permet de créer des rôles personnalisés.
Ces rôles ne sont, en fait, qu'une liste d'actions regroupées sous un intitulé et un libellé unique.
Il est possible, dans un deuxième temps d'associer ces rôles à des utilisateurs.
Pour créer un nouveau rôle cliquer sur :
Édition de rôles/Création de rôles
puis
Créer rôle
entrer l'intitulé (le nom) du rôle (sans caractère spécial, sans accent et sans espace) ;
entrer un libellé (courte description) du rôle ;
cocher les actions à autoriser ;
ajouter ;
créer.
Actions obligatoires
Certaines actions doivent être obligatoirement permises pour tous les utilisateurs :
help : utilisé notamment pour l'affichage d'aide ;
main_status : page d'accueil appelée par défaut, elle gère un rôle prof (n'affiche pas les états de services) et un rôle admin ;
update_ead : outil de téléchargement des javascripts, CSS, images spécifiques au module.
Actions communes aux différents modules
lshw : listing matériel ;
maj : action de mise à jour ;
daemon : relancer des services (mode expert) ;
simple_services_editor : éditer des groupes de services pour le mode simplifié ;
simple_services : redémarrer/arrêter les services (mode simplifié) ;
server-configure/server-reboot/server-stop : redémarrer/arrêter/reconfigurer le serveur ;
role_editor : création de rôles ;
role_manager : association de rôle (appelée par d'autres actions).
Actions spécifiques au module Amon
La modification du système de filtrage sur le module Amon apporte de profondes modifications sur ce module.
Selon les choix effectués lors de la phase de configuration avec l'interface de configuration du module, vous pouvez choisir d'utiliser une ou deux zones de configuration pour le filtrage et les options du pare-feu.
La zone 1 correspond à la réseau admin et la zone 2 correspond au réseau pedago.
Gestion des postes
- navigation_poste_admin (ou pedago) : action de gestion des postes à interdire ;
- navigation_destination_admin (ou pedago) : interdire des destinations.
Gestion des groupes de machine
- groupe_machine_admin (ou pedago) : action d'entrée pour la gestion des groupes de machine (gère des restrictions pour le rôle prof) ;
- groupe_machine_create_admin (ou pedago) : action de création de groupe de machine (nécessite groupe_machine) ;
- groupe_machine_horaire_admin (ou pedago) : action de gestion des horaires pour les groupes de machine.
Gestion des utilisateurs
- navigation_banned_user_admin (ou pedago) : action de gestion des utilisateurs à interdire ;
- navigation_moderateur_admin (ou pedago) : action de gestion des modérateurs ;
- navigation_whitelist_admin (ou pedago) : action de gestion des utilisateurs en liste blanche ;
- navigation_whitesitelist_admin (ou pedago) : action de gestion des sites en liste blanche.
Gestion des sites
- opt_filters_admin (ou pedago) : gestion des filtres optionnels pour la zone de configuration 1 (ou 2) ;
- filtrage_admin (ou pedago) : gestion du mode de filtrage syntaxique pour la zone de configuration 1 (ou 2) ;
- sites_interdits_admin (ou pedago) : gestion des sites interdits pour la zone de configuration 1 (ou 2) ;
- sites_autorises_admin (ou pedago) : gestion des sites autorisés pour la zone de configuration 1 (ou 2) ;
- extensions_admin (ou pedago) : gestion des extensions interdites pour la zone de configuration 1 (ou 2) ;
- mime_admin (ou pedago) : gestion des types mime interdits pour la zone de configuration 1 (ou 2).
Gestion des règles du pare-feu
- regles : mode de fonctionnement du pare-feu ;
- peertopeer : autorisation/interdiction du peer to peer ;
- horaire : horaire de fonctionnement du pare-feu.
Autres actions
- navigation_visit : action de consultation des logs ;
- filtrage_bayes : action d'évaluation d'URL à l'aide du filtrage bayésien ;
- bande_passante : outil de test de bande passante.
Actions spécifiques au module Scribe
Gestion des utilisateurs
- scribe_user_create : action de création ;
- scribe_user_list : renvoie le formulaire de recherche par critères qui appelle scribe_user_table pour la validation ;
- scribe_user_table : action de listing d'utilisateur (gère les rôles prof_admin et admin) appelle scribe_user_modify, scribe_user_delete, scribe_user_modpassword ;
- scribe_user_modify : action de modification d'utilisateur (utilisée par scribe_user_table gère les rôles prof_admin et admin) ;
- scribe_user_delete : action de suppression d'utilisateur (gère les rôles prof_admin et admin) ;
- scribe_user_modpassword : action de modification d'un mot de passe (gère les rôles prof_admin et admin).
Actions restreintes (créées pour les professeurs, les personnels administratifs et les professeurs admins, gère le rôle de prof et prof_admin)
- scribe_prof_preference : préférences du professeur connecté (mot de passe, inscription aux groupes, mail) ;
- scribe_prof_mod_mail : modifie le mail d'un professeur (nécessite scribe_prof_preference) ;
- scribe_user_password : action de modification de son propre mot de passe (nécessite scribe_prof_preference) ;
- scribe_prof_mod_groupe : Inscription du prof connecté aux groupes ;
- scribe_prof_user : action d'entrée pour la gestion des utilisateurs par les profs lien vers scribe_prof_user_create et scribe_prof_user_modify ;
- scribe_prof_user_create : action de création d'utilisateur (nécessite scribe_prof_user) ;
- scribe_prof_user_modify : action d'entrée pour la modification des utilisateurs (nécessite scribe_prof_user) ;
- scribe_grouped_edition : action d'entrée pour l'édition groupée d'utilisateur (appelle scribe_user_table).
Gestion des groupes
- scribe_group_create : création de groupes, niveau, classe..., appelle scribe_group_list ;
- scribe_group_list : liste les groupes, appelle scribe_group_delete, appelle scribe_group_create ;
- scribe_group_modify : modification de groupe ;
- scribe_group_delete : suppression de groupe ;
- scribe_prof_group : entrée pour la gestion des groupes par un prof_admin ou un prof, appelle scribe_prof_user_modify et scribe_prof_group_create ;
- scribe_prof_group_create : action de création de groupe par un prof_admin.
Gestion des partages
- scribe_share : attribution de lettre de lecteur à un partage.
Gestion des stations et connexions
- scribe_station : action de suppression forcée de station du domaine ;
- scribe_extraction : action d'extraction sconet ;
- scribe_connexion_index : page d'accueil des observations des connexions ;
- scribe_connexion_machine : page d'affichage des machines connectées ;
- scribe_connexion_quota : observation des quotas ;
- scribe_connexion_virus : affiche la liste les virus repérés ;
- scribe_connexion_history : affiche l'historique des connexions.
Autres actions
- scribe_devoir_distribuer / scribe_devoir_ramasser / scribe_devoir_rendre / scribe_devoir_supprimer : gestion des devoirs ;
- bareos : action de programmation de sauvegarde ;
- bareos_config : action de configuration de sauvegarde ;
- scribe_sympa : action renvoyant des liens pour l'interface de gestion de listes de diffusion ;
- printers : action de gestion simplifiée des imprimantes.
Actions spécifiques au module Horus
Gestion des connexions
- isis : action d'entrée pour l'interface d'observation des connexions, appelle les actions isis ;
- isis_stop : action d'arrêt de toutes les connexions ;
- isis_disconnect : action de déconnexion d'utilisateur connectés au domaine ;
- isis_sendmsg : action d'envoi de message à des utilisateurs connectés ;
- isis_machine : action de listing des machines connectées au domaine (client, maîtres explorateurs...) ;
- isis_login : action d'autorisation des utilisateurs par login ;
- isis_quota : action d'affichage des quotas ;
- gestion_index : action d'entrée vers les gestions d'utilisateur, groupe, partage, appelle les actions gestion.
Gestion des utilisateurs
- gestion_user_modify : action de modification d'utilisateur ;
- gestion_user_create : action de création d'utilisateur ;
- gestion_user_suppr : action de suppression d'utilisateur.
Gestion des partages
- gestion_share_create : action de création de partage ;
- gestion_share_modify : action de modification de partage ;
- gestion_share_suppr : action de suppression de partage.
Gestion des groupes
- gestion_group_create : action de création de groupe ;
- gestion_group_modify : action de modification de groupe ;
- gestion_group_suppr : action de suppression de groupe.
Autres actions
- gestion_account_suppr : action de suppression forcée de compte ;
- extraction_aaf : action pour l'extraction AAF ;
- bareos : action programmation de sauvegarde ;
- bareos_config : action de configuration de Bareos pour la sauvegarde ;
- scripts_admin : action pour l'exécution de scripts d'administration ;
- printers : action de gestion des imprimantes.
Actions spécifiques au module Seshat
Menu Messagerie
- routes : gestion du routage des messages vers les établissements de l'Académie.
Modification et suppression de rôle via l'EAD
Association des rôles
Fichiers pris en compte
Sur un module EOLE, seuls les fichiers suivants sont pris en compte :
-
/usr/share/ead2/backend/config/roles.ini
: associations de base (admin, eleve, prof, ...) ; /usr/share/ead2/backend/config/roles_<module>.ini
: associations spécifiques au module installé (ex :roles_scribe.ini
) ;-
/usr/share/ead2/backend/config/roles_local.ini
: associations déclarés localement (édition manuelle ou via l'EAD) ; -
/usr/share/ead2/backend/config/roles_acad.ini
: associations déclarés au niveau académique (via Zéphir).
Syntaxe des fichiers
L'association d'un rôle se fait à partir du login d'un utilisateur système (section [pam]
) ou de la valeur associée à un attribut ldap (section [nom_attribut]
) de l'annuaire utilisé pour l'authentification SSO sur l'EAD du module.
Exemple
[pam]
scribe2=admin
[uid]
jean.dupont=prof_admin
[user_groups]
minedu=admin_horus
Remarque
La clé spéciale [user_groups]
permet d'attribuer un rôle à tous les membres d'un groupe déclaré dans l'annuaire LDAP.
Création d'association via l'EAD
Quand un utilisateur se connecte sur l'EAD, en local ou en SSO, le système d'authentification renvoie des informations le concernant.
Certaines de ces informations sont utilisées pour lui attribuer des rôles et ainsi lui donner accès à certaines actions.
Pour associer un rôle à des utilisateurs:
- dans
Édition des rôles/Association de rôle
; - cliquer sur
Associer Rôle
.
choisir la clef (attribut de l'utilisateur) ;
renseigner la valeur recherchée pour cet attribut (dans le cas d'une authentification locale on mettra le login de l'utilisateur) ;
choisir le rôle à associer ;
valider.
L'intitulé de la clef dépend du système d'authentification utilisé pour se connecter :
Authentification locale :
le login de l'utilisateur.
Authentification SSO :
l'élève fait partie de la classe ;
la valeur de la clé LDAP typeadmin :
- 0 → enseignant
- 1 → administrateur
- 2 → enseignant responsable de classe
- 3 → personnel administratif
le login de l'utilisateur ;
le ou les groupes de l'utilisateur.
Remarque
Il est indispensable de redémarrer le service ead-server dans Système->Services (mode expert)
pour que les modifications soient prises en compte.
Suppression d'une association via l'EAD
Les rôles sur le module Scribe
L'EAD est accessible :
- en authentification locale aux utilisateurs root et eole ;
- en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.
En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.
Dans le cadre du module Scribe, les rôles importants sont les suivants :
administrateur : accès à toutes les actions comme par exemples : redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc (valeur de l'attribut LDAP
uid
→ admin et comptes locaux root et eole);professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS (valeur de l'attribut LDAP
typeadmin
→ 0) ;responsable de classe : en plus des actions "professeur", il peut ré-initialiser le mot de passe des élèves des classes dont il est responsable (valeur de l'attribut LDAP
typeadmin
→ 2). Attention, le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable (pour cela il doit être ajouté à l'équipe pédagogique) ;personnel administratif : modification des préférences personnelles, gestion des files d'impression CUPS (membres du groupe administratifs).
Truc & astuce
Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.
Accès "Administrateur"
Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.
L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.
ComplémentFonctionnalités Scribe
L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :
distribution de devoirs et de documents ;
création/gestion des utilisateurs, des groupes et des partages ;
configuration et gestion des imprimantes (CUPS) ;
importation CSV/SIECLE/AAF/ONDES ;
gestion des ACL ;
gestion des quotas disque ;
gestion des listes de diffusion ;
test de la bande passante du serveur ;
modification du mode de visualisation des postes élèves ;
consultation de l'historique des connexions ;
envoi d'un message aux utilisateurs connectés ;
extinction/redémarrage/fermeture de session sur les postes clients ;
gestion des comptes de machine ;
paramétrage et programmation des sauvegardes du serveur ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
Accès "Professeur"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Accès "responsable de classe"
Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :
la ré-initialisation du mot de passe d'un élève ;
l'appartenance d'un élève à un groupe ;
la création d'un groupe ;
etc.
ComplémentLes fonctions disponibles :
préférences personnelles ;
distribution de devoirs ;
gestion des imprimantes (CUPS) ;
création de groupe ;
ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;
édition groupée sur les membres de la/les classe(s) dont il est responsable.
Remarque
Un professeur peut être responsable de plusieurs classes.
Une classe peut se voir affecter plusieurs responsables.
Attention
Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.
Accès "Administratif du Scribe"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Les rôles sur le module Amon
L'EAD est accessible aux utilisateurs locaux root et eole.
Si l'authentification SSO est configurée, il est également accessible à l'utilisateur admin.
En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.
Dans le cadre du module Amon, les rôles importants sont les suivants :
administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;
administrateur du réseau pédagogique (utilisé sur le module Amon).
Truc & astuce
Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.
Accès "Administrateur"
Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.
L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.
ComplémentFonctionnalités Amon
L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :
activation/désactivation de règles de pare-feu (directives optionnelles) ;
gestion d'exceptions de cache et d'authentification proxy ;
gestion des options du filtrages web pour les différentes instances, politiques et groupes ;
test de la bande passante du serveur ;
consultation des statistiques du proxy ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
Accès "Administrateur du réseau pédago"
Les rôles sur le module AmonEcole
L'EAD est accessible :
- en authentification locale aux utilisateurs root et eole ;
- en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.
En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.
Dans le cadre du module AmonEcole, les rôles importants sont les suivants :
administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;
professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS ;
responsable de classe : en plus des actions "professeur", peut ré-initialiser le mot de passe des élèves des classes dont il est responsable ;
administratif dans Scribe ;
administrateur du Scribe ;
administrateur de l'Amon.
Truc & astuce
Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.
Accès "Administrateur"
Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.
L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.
Accès "Professeur"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Accès "responsable de classe"
Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :
la ré-initialisation du mot de passe d'un élève ;
l'appartenance d'un élève à un groupe ;
la création d'un groupe ;
etc.
ComplémentLes fonctions disponibles :
préférences personnelles ;
distribution de devoirs ;
gestion des imprimantes (CUPS) ;
création de groupe ;
ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;
édition groupée sur les membres de la/les classe(s) dont il est responsable.
Remarque
Un professeur peut être responsable de plusieurs classes.
Une classe peut se voir affecter plusieurs responsables.
Attention
Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.
Accès "Administratif du Scribe"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Accès "Administrateur du Scribe"
Sur un module AmonEcole, le rôle "Administrateur du Scribe" (admin_scribe) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Scribe.
ComplémentFonctionnalités Scribe
L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :
distribution de devoirs et de documents ;
création/gestion des utilisateurs, des groupes et des partages ;
configuration et gestion des imprimantes (CUPS) ;
importation CSV/SIECLE/AAF/ONDES ;
gestion des ACL ;
gestion des quotas disque ;
gestion des listes de diffusion ;
test de la bande passante du serveur ;
modification du mode de visualisation des postes élèves ;
consultation de l'historique des connexions ;
envoi d'un message aux utilisateurs connectés ;
extinction/redémarrage/fermeture de session sur les postes clients ;
gestion des comptes de machine ;
paramétrage et programmation des sauvegardes du serveur ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
Accès "Administrateur de l'Amon"
Sur un module AmonEcole, le rôle "Administrateur de l'Amon" (admin_amon) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Amon.
ComplémentFonctionnalités Amon
L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :
activation/désactivation de règles de pare-feu (directives optionnelles) ;
gestion d'exceptions de cache et d'authentification proxy ;
gestion des options du filtrages web pour les différentes instances, politiques et groupes ;
test de la bande passante du serveur ;
consultation des statistiques du proxy ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
La console
Seul le script Remonter les données locales sur Zéphir est fourni par défaut.
Attention
Cette fonctionnalité n'est pas stabilisée. De plus, les actions et scripts personnalisés seront supprimés à la prochaine mise à jour.
Remonter les données locales sur Zéphir
Écrire des scripts personnalisés
Copier avec un nouveau nom le script existant :
# cp /usr/share/ead2/backend/actions/cmd_update_zephir.py /usr/share/ead2/backend/actions/cmd_df.py
Éditer le script et renommer la classe, le nom du script, la commande à exécuter et le libellé de la commande :
# vim /usr/share/ead2/backend/actions/cmd_df.py
# -*- coding: UTF-8 -*-
from ead2.backend.actions.lib.main import Cmd
class Cmd_Df(Cmd): # renommer la classe
"""
Action du mode commande
"""
name = "cmd_df" # nom du script
# propriété de la commande à exécuter
cmd_template = "df -h"
cmd_libelle = "Occupation disque" # libellé du script dans l'EAD
Ajouter le nom du nouveau script au fichier zstats.cmd
:
# vim /usr/share/ead2/backend/config/cmds/zstats.cmd
ou
# echo "cmd_df" >> /usr/share/ead2/backend/config/cmds/zstats.cmd
Déclarer le nouveau script dans le fichier actions_zstats.cfg
:
# vim /usr/share/ead2/backend/config/actions/actions_zstats.cfg
ou
# echo "cmd_df" >> /usr/share/ead2/backend/config/actions/actions_zstats.cfg
Ajouter les droits d'utilisation du script dans le fichier perm_zstats.ini
:
# vim /usr/share/ead2/backend/config/perms/perm_zstats.ini
ou
# echo "cmd_df=admin" >> /usr/share/ead2/backend/config/perms/perm_zstats.ini
Relancer le service :
# service ead-server restart
L'action est accessible dans le menu de l'EAD. Lorsque la commande réussi un message s'affiche :
++ La commande : 'Occupation disque' a bien été exécutée.
Cliquer sur Afficher le contenu reçu
permet d'afficher le résultat de la commande.
Listing matériel
Le listing matériel permet de visualiser les éléments matériels du serveur.
Il indique notamment l'occupation des disques, de la mémoire vive et de la partition swap.

AttentionLa mémoire physique (RAM)
Le noyau Linux[1] utilise un système de cache mémoire pour limiter les accès disque. Le chiffre "mémoire physique" comprend ce cache. Cela signifie qu'il n'est pas inquiétant de voir une valeur proche de 100%.
Le critère important étant l'occupation le swap (mémoire virtuelle). Une utilisation du swap indique que le serveur manque de RAM. Il faut alors envisager d'en augmenter la quantité ou chercher à alléger la charge de la machine.
Remarque
Sur EOLE 2.9, les interfaces VLAN ne sont plus affichées par l'outil lshw
et n'apparaissent donc plus dans l'interface.
Bande passante
Le menu Outils/Bande passante
permet de tester la bande passante dont dispose le serveur.

Résoudre des dysfonctionnements liés à l'EAD
Services et journaux
Les fichiers journaux associés aux services EAD sont les suivants :
-
/var/log/rsyslog/local/ead-server/ead-server.info.log
-
/var/log/rsyslog/local/ead-web/ead-web.info.log
Si le service ead-server
ne démarre plus ou si des actions EAD ne se chargent plus et que la consultation des fichiers journaux n'apportent pas d'informations pertinentes, le service peut être exécuté manuellement à l'aide des commandes suivantes :
service ead-server stop
cd /tmp
export PYTHONPATH=/usr/share
twistd3 -noy /usr/share/ead2/backend/eadserver.tac
La combinaison de touches ctrl+c
permet d'arrêter le programme.
Si c'est le service ead-web
qui est en erreur, le service peut être exécuté manuellement à l'aide des commandes suivantes :
service ead-web stop
cd /tmp
export PYTHONPATH=/usr/share
twistd3 -noy /usr/share/ead2/frontend/frontend.tac
La combinaison de touches ctrl+c
permet d'arrêter le programme.
Certificats SSL
Pour avoir accès à l'EAD, il faut impérativement que le nom de domaine soit présent dans le certificat SSL.
Il est notamment impossible de se connecter à l'EAD avec une simple adresse IP.
Il existe plusieurs méthodes pour connaître les noms de domaine présents dans le certificat SSL, par exemple il est possible d'utiliser un navigateur Internet.
ExempleExemple avec Firefox
Cliquer sur le cadenas à côté de l'URL
Cliquer sur la flèche dirigée vers la droite pour afficher les détails de la connexion
Cliquer sur le bouton
Plus d'informations
, le nom de domaine principal du certificat apparaît alors dans la partieIdentité du site web
etSite web
Il est possible que des noms alternatifs soient renseignés dans le certificat. Pour les retrouver, cliquer sur le bouton
Afficher le certificat
, puis sur l'ongletDétails
et sélectionner la ligneNom alternatif du sujet de certificat
, les noms alternatifs sont affichés dans la boîteValeur du champ
.
Attention
Attention, même si la bonne adresse IP apparaît dans le certificat, elle ne sera pas prise en compte.
Truc & astuce
Si le nom de domaine n’apparaît pas et que le certificat est de type autosigné, il faut le rajouter dans l'onglet Certificats ssl
de l'interface de configuration du module en mode expert.
Truc & astuce
La modification, dans l'interface de configuration du module, de l'un des paramètres constituant un certificat (nom d’établissement, numéro RNE, etc...) suivie d'une reconfiguration du module ne régénère pas les certificats. Un message explicite le signale lors de l'étape de reconfiguration.
Après changement des paramètres il est nécessaire de supprimer le certificat puis d'exécuter la reconfiguration du module :
rm -f /etc/ssl/certs/eole.crt
reconfigure
Clés d'enregistrement
Les interfaces associées au serveur de commandes local sont enregistrées dans le fichier /usr/share/ead2/backend/config/frontend_keys.ini
Exemple
[keys]
127.0.0.1 = 157b551f55359d92d20e412e83f87f9ea2e47ab3
Les serveurs de commandes associés à l'interface EAD locale sont enregistrés dans le fichier /usr/share/ead2/frontend/config/servers.ini
Exemple
[1]
url = https://127.0.0.1
port = 4201
comment = amon
key = 157b551f55359d92d20e412e83f87f9ea2e47ab3
Si nécessaire, il est possible de réinitialiser ces fichiers à l'aide des commandes suivantes :
echo '[keys]' > /usr/share/ead2/backend/config/frontend_keys.ini
echo '' > /usr/share/ead2/frontend/config/servers.ini
reconfigure
L'interface d'administration EAD 3
Présentation
Installation et configuration
Activation
Pour activer l'EAD3 en ligne de commande :
# CreoleSet activer_ead3 oui
Son activation nécessite la reconfiguration du serveur :
# reconfigure
Configuration
L'onglet Ead3
est uniquement disponible après avoir passé Activer l'interface d'administration du module (EAD3)
à oui
dans l'onglet Services
.
Il permet de personnaliser la configuration Saltstack[19] de l'EAD3.
Le port d'écoute par défaut de l'API Saltstack est 8880.
Le choix du chemin de téléversement des fichiers EAD3 est par défaut /var/lib/eole/ead3files
.
L'application web
Pour accéder à l'application EAD3 il faut utiliser l'URL suivante : https://<serveur>/ead/
Une mire d'authentification apparaît. Saisir le compte et la clé secrète associée.
Remarque

ÉcranDescription des éléments de la page principale
Cliquer sur une catégorie particulière permet d'afficher une vue propre à la catégorie.
Généralités sur les actions
Une action est une fonctionnalité de l'EAD3 permettant de réaliser un ou plusieurs traitements sur un ou plusieurs serveurs cibles.
Une action est construite à partir de deux éléments :
Ces fichiers sont stockés sur le serveur dans le répertoire /usr/share/eole/creole/extra/
.
Un sous-répertoire correspond à une action et son nom est le nom de l'action.
Par exemple, l'action majreport est définie à la création du répertoire enfant /usr/share/eole/creole/extra/majreport/
qui contient le XML Creole, et éventuellement une recette SaltStack.
Si une recette SaltStack est associée à l'action, elle doit obligatoirement être placée dans le répertoire enfant sls
/ de l'action.
Exemple
root@scribe:~# tree /usr/share/eole/creole/extra/backuponce
/usr/share/eole/creole/extra/backuponce
├── 00_action.xml
└── sls
└── eole
└── init.sls
2 directories, 2 files
root@scribe:~#
Dans les dossiers sls
des actions déjà existantes, un sous-dossier eole
est présent. Il contient les recettes SaltStack fournies par EOLE.
Truc & astuce
Plusieurs recettes SaltStack successives peuvent être appelées. Un fichier init.sls
permet d'inclure toutes les recettes à appliquer dans un ordre spécifique.
Attention
Pour personnaliser le comportement d'une action existante il faut placer les recettes SaltStack directement dans le répertoire parent.
Par exemple pour surcharger le comportement des recettes EOLE de l'action majonce il faut placer les recettes personnalisées dans /usr/share/eole/creole/extra/majonce/sls/
.
Exemple
Si l'on souhaite accéder à la variable Creole hour de la famille mise_a_jour de l'action majonce, il faut écrire dans la recette : pillar['majonce.mise_a_jour.hour'].
Exemple
<creole>
<family_action name="Catégorie contenant une ou plusieurs actions">
<action type="reader"
title="Nom appraissant dans l'interface web"
description="Description de l'action apparaissant dans l'interface web"
image="icons/edit-find.svg">
<profile>ead_admin</profile>
<ewtapp>ead</ewtapp>
<tag>étiquette1</tag>
<tag>étiquette2</tag>
</action>
</family_action>
<variables>
<family name="options">
<variable name="filename" type="filename">
</family>
</variables>
</creole>
Balises et variables qui permettent de définir l'interface pour une action de type formulaire :
<family_action> : Cette balise est obligatoire, elle permet de définir la catégorie qui contient l'action (si on veut ranger l'action à créer dans une catégorie existante, il suffit de renseigner le nom de la catégorie, si on veut créer une nouvelle catégorie, il suffit de mettre un nouveau nom) ;
<action> : Cette balise est obligatoire, elle définit l'action d'une manière générique ;
type : Le type de l'action, exemple reader pour une action d'affichage, form pour une action de type formulaire, custom pour une action personnalisée ;
title : Intitulé de l'action ;
descriptif : Courte description de l'action ;
image : Les icônes disponibles sont dans le répertoire :
/usr/share/ewt/static/images/icons/
;<family name="options"><variable name="filename" type="filename"> : Permettent de définir les variables Creole nécessaires au bon fonctionnement de l'action ;
<ewtapp> : Applications dans lesquelles l'action doit apparaître (une balise par application), ici seulement l'EAD ;
<profile> : L'action n'est accessible que pour le profil ead_admin ou un profil équivalent ou supérieur ;
<tag> : Permet de déclarer une ou plusieurs étiquettes dans l'interface EAD.
Truc & astuce
Il est possible, comme dans n'importe quel XML Creole, de mettre en place des contrôles et des conditions sur les variables déclarées.
Créer une nouvelle action
Pour créer une nouvelle action il est possible de prendre modèle sur une action existante :
# cp -R /usr/share/eole/creole/extra/majreport/00_action.xml /usr/share/eole/creole/extra/test/00_action.xml
ExempleÀ gauche la copie de l'action de droite
<creole> |<creole>
<family_action name="Test" | <family_action name="Mise à jour"
description="Test" | description="Gestion de la mise à jour"
color="#0000dd" | color="#fca474"
image="icons/mail-attachment.svg"> | image="icons/applications-internet.svg">
<action type="reader" | <action type="reader"
title="Test de lecture" | title="Rapport de mise à jour"
description="Afficher le contenu d'un fichier" | description="Afficher le journal de la dernière mise à jour"
image="icons/face-angel.svg"> | image="icons/edit-find.svg">
<profile>ead_admin</profile> | <profile>ead_admin</profile>
<ewtapp>ead</ewtapp> | <ewtapp>ead</ewtapp>
<tag>lecture</tag> | <tag>log</tag>
<tag>fichier</tag> | <tag>maj</tag>
<tag>test</tag> | <tag>maj-auto</tag>
</action> | <tag>mise à jour</tag>
</family_action> | </action>
<variables> | </family_action>
<family name="options" | <variables>
description="Contenu du fichier "> | <family name="options"
<variable name="filename" type="filename"> | description="Dernière mise à jour">
<value>/usr/share/eole/creole/extra/test/00_action.xml</value> | <variable name="filename" type="filename">
</variable> | <value>/var/lib/eole/reports/rapport-maj.log</value>
<variable name="language" type="string"> | </variable>
<value>prolog</value> | <variable name="language" type="string">
</variable> | <value>prolog</value>
</family> | </variable>
</variables> | </family>
<constraints> | </variables>
</constraints> | <constraints>
<help/> | </constraints>
</creole> | <help/>
|</creole>
Pour que la nouvelle action soit prise en compte il faut reconfigurer le serveur à l'aide de la commande reconfigure
ou appliquer les commandes suivantes :
# /usr/share/eole/postservice/00-actions reconfigure
# CreoleCat -t ext_auth.conf
# service salt-api restart
Conseil
Dans un cas comme dans l'autre il est préférable de se déconnecter et se reconnecter à l'EAD.
Pour supprimer une action :
# rm -r /usr/share/eole/creole/extra/test/
# reconfigure
Type d'actions
Les actions d'affichage
Exemple
<creole>
<family_action name="Tâches planifiées">
<action type="reader"
title="Rapport de mise à jour"
description="Visualisation du fichier de log de MajAuto"
image="icons/edit-find.svg">
<profile>ead_admin</profile>
<ewtapp>ead</ewtapp>
<tag>log</tag>
<tag>maj</tag>
<tag>maj-auto</tag>
<tag>mise à jour</tag>
</action>
</family_action>
<variables>
<family name="options">
<variable name="filename" type="filename">
<value>/var/lib/eole/reports/rapport-maj.log</value>
</variable>
<variable name="language" type="string">
<value>prolog</value>
</variable>
</family>
</variables>
<constraints>
</constraints>
<help/>
</creole>
Balises et variables qui permettent de définir l'interface pour une action de type affichage :
<family_action> et <action> : permettent de définir l'action d'une manière générique ;
Des variables Creole sont définies dans la rubrique familly et sont utiles pour le fonctionnement de l'action :
la variable filename contient le nom long du fichier à afficher ;
la variable language est optionnelle, elle contient le mode de coloration syntaxique utilisé pour afficher le fichier en couleur.
Ces variables sont des variables Creole chargée en mémoire vives, si on veut qu'elles soient enregistrées il faut renseigner l'attribut save=True et elles leurs nouvelles valeurs seront stockées dans un config.eol
(qui n'est pas le /etc/config.eol
principal de Creole).
L'action d'affichage est de type filename et est préexistante. Elle ne nécessite aucune recette SaltStack particulière. Donc seul le fichier XML Creole est présent.
Les actions de type formulaire
Les actions de type formulaire sont des actions qui ont besoin de paramètres pour pouvoir être lancées.
Dans ce cas, il faut faire apparaître un formulaire pour renseigner les variables nécessaires au fonctionnement de l'action.
Ce formulaire est généré automatiquement à partir de la définition de variables dans le XML Creole.
Exemple
<variables>
<family name='Mise à jour'>
<variable description="Type de la mise à jour" type="string" name="typemaj">
<value>Faire une mise à jour du serveur la nuit qui vient</value>
</variable>
<variable description="Choisir les options de mise à jour" type="string" name="majoption">
<value>Mise à jour, reconfigure et redémarrage du serveur</value>
</variable>
<variable description="Heure" name='hour' type='number'/>
<variable description="Minute" name='minute' type='number'/>
<variable description="Jour" name='day' type='date'/>
</family>
</variables>
La définition de variables de type string ou de type number va générer un formulaire dans l'espace réservé à afficher l'action (widget).
<input>Programmer</input>
permet de définir un bouton de validation
<variable description="Type de la mise à jour" type="string" name="typemaj">
<value>Faire une mise à jour du serveur la nuit qui vient</value>
</variable>
fait apparaître une liste déroulante avec un item
Compléments techniques
Relancer l'EAD3
root@scribe:~# service salt-api status
● salt-api.service - The Salt API
Loaded: loaded (/lib/systemd/system/salt-api.service; enabled; vendor preset: enabled)
Active: active (running) since mer. 2017-03-01 11:31:49 CET; 4min 22s ago
Main PID: 9193 (salt-api)
CGroup: /system.slice/salt-api.service
├─9193 /usr/bin/python /usr/bin/salt-api
└─9614 /usr/bin/python /usr/bin/salt-api
mars 01 11:31:48 scribe systemd[1]: Starting The Salt API...
mars 01 11:31:49 scribe systemd[1]: Started The Salt API.
root@scribe:~#
L'interface d'administration semi-graphique
En plus de l'EAD, une interface semi-graphique est disponible.
Cette interface (manage-eole
) permet d'exécuter quelques tâches simples d'administration du serveur : diagnostique, mise à jour, liste des paquets en mise à jour, etc.
Par défaut, elle est proposée à la connexion pour les utilisateurs eole
, eole2
, ... créés à l’instance, et pour les administrateurs à droits restreints qui peuvent être créés avec la commande add_restricted_admin en dehors de la procédure d’instance.
Les mises à jour
Avec GNU/Linux, comme avec d'autres systèmes d'exploitation, les logiciels doivent être compilés avant de pouvoir être utilisés.
Au début du projet Debian (sur lequel est basé Ubuntu), les auteurs jugèrent nécessaire de disposer d'un système d'installation et de désinstallation de logiciels et bibliothèques efficace et simple. Ce système fut nommé dpkg et utilise des paquets portant l'extension .deb.
Les paquets
Un paquet contient un logiciel ou une bibliothèque déjà compilé et qui s'installe de façon automatique au travers du gestionnaire de paquets. Le format natif des paquets pour Ubuntu et donc pour EOLE est le paquet Debian.

Pour limiter la taille des paquets et pour rendre plus efficace l'utilisation de votre ordinateur, le paquet ne contient que le logiciel ou la bibliothèque. Si ce logiciel a besoin d'un autre logiciel ou d'une bibliothèque particulière pour fonctionner, le paquet indique quelles sont ces exigences à satisfaire. On les appelle les dépendances.
La dépendance permet une réutilisation d'une même composante par plusieurs logiciels. Par exemple, si un logiciel nécessite une bibliothèque particulière et qu'un autre logiciel nécessite aussi cette bibliothèque, une ne sera installée qu'une seule fois pour les deux programmes. Cette dépendance apporte plusieurs avantages: lors d'une mise à jour, un paquet est mis à jour pour tous les logiciels, il y a alors une économie de bande passante et d'espace utilisé sur les disques durs.
Le gestionnaire de paquets
Le fait qu'un paquet puisse dépendre d'autres paquets serait infernal à gérer de façon manuelle.
Advanced Packaging Tool (APT) est un système complet et avancé de gestion de paquets, permettant une recherche facile et efficace, une installation simple et une désinstallation propre de logiciels et utilitaires. Il gère les dépendances automatiquement et paramètre les fichiers de configuration durant l'installation et les mises à jour.
Les mises à jour sont continuelles et incrémentales. Le système offre une méthode de mise à jour cohérente et un processus de mise à jour sûr.
APT est un ensemble d'utilitaires utilisables en ligne de commande.
Il facilite la mise à jour d'une distribution Debian et Ubuntu.
EOLE utilise également ce système et fournit un ensemble de facilité :
mise à jour hebdomadaire est configurée automatiquement ;
mise à jour au travers de l'EAD et de Zéphir ;
commandes Maj-Auto, Query-Auto et apt-eole.
AttentionProxy et mise à jour
Les modifications apportées au proxy transparent à partir de la version 2.6.1 provoquent le blocage de certaines mises à jour aussi, la déclaration du proxy est nécessaire pour effectuer les mises à jour d'un module EOLE qui serait protégé par un module Amon. La déclaration du proxy s'effectue dans l'onglet Général
de l'interface de configuration du module, passer Utiliser un serveur mandataire (proxy) pour accéder à Internet
à oui
et paramétrer l'adresse du proxy dans le champ Nom ou adresse IP du serveur proxy
.
Les différents types de mises à jour
Les mises à jour pour une version donnée permettent de corriger les problèmes bloquants, de sécurité et/ou ne permettant pas un fonctionnement normal du module.
Par défaut une mise à jour hebdomadaire est configurée automatiquement à la fin de l'instanciation du module. Ce comportement est paramétrable et désactivable.
Depuis EOLE 2.6, il n'existe qu'un seul niveau de mise à jour. Le concept de mise à jour minimale et complète a été supprimé. L'ajout de nouvelles fonctionnalités entraîne une nouvelle version d'EOLE (2.6.x). Le passage d'une version à une autre est manuel.
Les mises à jour fonctionnelles et les corrections sont proposées sur le dépôt de développement (Unstable), puis proposées en Release candidate (RC)[23] lorsque les paquets sont stabilisés et testés. Plusieurs RC successives ont lieu avant la publication de la totalité des RC en stable. Cela donne lieu à une nouvelle version d'EOLE (2.6.x). Chaque version d'EOLE bénéficie des dépôts :
Security : paquets fixant un problème de sécurité ;
Updates : paquets fixant des dysfonctionnement bloquants ou suffisamment importants et ne pouvant pas attendre la sortie d'une nouvelle version d'EOLE (durée de rétention en RC et publication en stable).
Proposed-updates : paquets candidats pour la version d'EOLE utilisée.
Mise à jour corrective
La dénomination "mise à jour corrective" concerne les paquets qui sont diffusés en version stable sur une version mineure d'EOLE.
Il s'agit généralement des paquets proposés dans la "mise à jour candidate annoncée" sur lesquels des correctifs additionnels mineurs ont pu être apportés.
La publication des paquets fait l'objet d'annonces officielles :
- publication d'une annonce dans la forge : https://dev-eole.ac-dijon.fr/projects/modules-eole/news ;
- reprise de l'annonce dans les flux RSS du site officiel du projet : http://pcll.ac-dijon.fr/eole/ ;
- envoi d'un message sur les principales listes de diffusion du projet : https://pcll.ac-dijon.fr/listes ;
- publication d'un message sur le compte Twitter du pôle de compétences : https://twitter.com/poleeole ;
- publication d'un message sur le compte Mastodon de l'équipe EOLE : https://mastodon.etalab.gouv.fr/@EOLE.
Le détail des paquets disponibles est indiqué dans les journaux des versions mineures concernées (exemple : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Journaux290 pour EOLE 2.9.0).
Les paquets diffusés en version stable sont disponibles dans les dépôts stables du site de référence.
Ils s'installent à l'aide de la commande : Maj-Auto et sont également installés automatiquement par la mise à jour hebdomadaire.
Mise à jour candidate annoncée
La dénomination "mise à jour candidate annoncée" concerne les paquets prêts à être diffusés en version stable sur une version mineure d'EOLE.
Il s'agit généralement des paquets proposés dans la "mise à jour candidate en préparation" qui ont été validés par l'équipe.
La publication des paquets fait l'objet d'annonces officielles :
- publication d'une annonce dans la forge : https://dev-eole.ac-dijon.fr/projects/modules-eole/news ;
- reprise de l'annonce dans les flux RSS du site officiel du projet : http://pcll.ac-dijon.fr/eole/ ;
- envoi d'un message sur les principales listes de diffusion du projet : https://pcll.ac-dijon.fr/listes ;
- publication d'un message sur le compte Twitter du pôle de compétences : https://twitter.com/poleeole ;
- publication d'un message sur le compte Mastodon de l'équipe EOLE : https://mastodon.etalab.gouv.fr/@EOLE.
Le détail des paquets disponibles est indiqué dans les journaux des versions mineures concernées (exemple : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Journaux290 pour EOLE 2.9.0).
Obtenir manuellement les paquets candidats
Les paquets en version candidate annoncés sont disponibles pendant la période de transition dans les dépôts candidats des dépôts du site de référence.
Ils s'installent manuellement à l'aide de la commande : Maj-Auto -C.
Obtenir automatiquement les paquets candidats
Les paquets candidats en préparation et non annoncés peuvent être obtenus automatiquement et à tout moment en déclarant les serveurs de test en tant que Serveur de mise à jour
.
Ils s'installent à l'aide de la commande Maj-Auto -S test-eole.ac-dijon.fr.
Remarque
Les mises à jour candidates sont testées par l'équipe EOLE, durant la période de transition et leur passage en stable, elles peuvent être installées et des remontées positives ou négatives peuvent être formulées sur la forge ou sur les listes de discussion.
Mise à jour candidate en préparation
La dénomination "mise à jour candidate en préparation" concerne les paquets prêts à être diffusés en version candidate sur une version mineure d'EOLE mais qui n'ont pas encore été annoncés officiellement.
Le détail des paquets disponibles est généralement indiqué dans les journaux des versions mineures concernées (exemple : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Journaux280 pour EOLE 2.8.0).
Les paquets en version candidate non annoncés sont disponibles à tout moment uniquement dans les dépôts de test.
Ils s'installent à l'aide de la commande : Maj-Auto -C -S test-eole.ac-dijon.fr
Remarque
Les mises à jour candidates sont testées par l'équipe EOLE, durant la période de transition et leur passage en stable, elles peuvent être installées et des remontées positives ou négatives peuvent être formulées sur la forge ou sur les listes de discussion.
Mise à jour de développement
Les paquets mis à disposition en version de développement sont généralement ceux de la prochaine version mineure d'EOLE qui est en cours d'élaboration.
Comme son nom l'indique, ce type de mise à jour s'adresse principalement aux développeurs et aux contributeurs qui souhaitent tester les dernières évolutions de la distribution EOLE.
Les paquets en version de développement s'installent à l'aide de la commande : Maj-Auto -D.
Attention
Les mises à jour de développement sont susceptibles de rendre le serveur instable.
Il est fortement déconseillé de les utiliser sur un serveur en production.
Attention
Les dépôts de développement (eole-2.8-unstable
pour EOLE 2.8) ne sont pas versionnés.
Leur utilisation sur une version mineure d'EOLE précédente entraînera un changement de version du serveur.
Les procédures de mise à jour
AttentionIntégrité de la mise à jour
Une mise à jour EOLE représente un ensemble de paquets.
L'installation manuelle de seulement l'un d'entre eux peut rendre votre système instable.
L'utilisation des méthodes listées ci-dessus permet de garantir l'intégrité du serveur.
AttentionProxy et mise à jour
Les modifications apportées au proxy transparent à partir de la version 2.6.1 provoquent le blocage de certaines mises à jour aussi, la déclaration du proxy est nécessaire pour effectuer les mises à jour d'un module EOLE qui serait protégé par un module Amon. La déclaration du proxy s'effectue dans l'onglet Général
de l'interface de configuration du module, passer Utiliser un serveur mandataire (proxy) pour accéder à Internet
à oui
et paramétrer l'adresse du proxy dans le champ Nom ou adresse IP du serveur proxy
.
Mise à jour depuis l'EAD
Dans Système
/ Mise à jour
, l'EAD propose une interface de mise à jour du serveur, il est possible de :
de lister les paquets disponibles pour la mise à jour ;
de programmer une mise à jour différée (dans 3 heures par exemple, ou dans 0 heure pour le faire tout de suite) ;
d'activer / désactiver les mises à jour hebdomadaires (le jour et l'heure de la mise à jour automatique sont déterminés aléatoirement).
L'heure est définie aléatoirement entre 01h00 et 05h59 un des sept jours de la semaine.

Attention
Si la fréquence des tâches Schedule
est personnalisée dans l'interface de configuration du module, c'est cette dernière qui prévaut et l'activation/désactivation de la mise à jour hebdomadaire via l'EAD ou la commande manage_schedule n'est plus possible.
Truc & astuceRapport de mise à jour
Penser à consulter le rapport de mise à jour et l'état des services sur la page d'accueil.
RemarqueReconfiguration et redémarrage automatique
Une mise à jour lancée depuis l'EAD exécute automatiquement une reconfiguration du serveur avec la commande reconfigure
, il n'est donc pas nécessaire d'en lancer un par la suite comme c'est le cas depuis la console.
Si un redémarrage est nécessaire, celui-ci est effectué automatiquement dès la fin de la reconfiguration.
L'interface d'administration semi-graphique
En plus de l'EAD, une interface semi-graphique est disponible.
Cette interface (manage-eole
) permet d'exécuter quelques tâches simples d'administration du serveur : diagnostique, mise à jour, liste des paquets en mise à jour, etc.
Par défaut, elle est proposée à la connexion pour les utilisateurs eole
, eole2
, ... créés à l’instance, et pour les administrateurs à droits restreints qui peuvent être créés avec la commande add_restricted_admin en dehors de la procédure d’instance.
Mise à jour
À la fin de la phase d'instanciation, la mise à jour automatique hebdomadaire est activée.
L'heure est définie aléatoirement entre 01h00 et 05h59 un des sept jours de la semaine.
Attention
Si la fréquence des tâches Schedule
est personnalisée dans l'interface de configuration du module, c'est cette dernière qui prévaut et l'activation/désactivation de la mise à jour hebdomadaire via l'EAD ou la commande manage_schedule n'est plus possible.
La mise à jour permet de maintenir votre serveur avec le niveau de fonctionnalité le plus récent et surtout de bénéficier des dernières corrections. Certaines corrections peuvent combler des failles de sécurité importantes, il est donc important de les appliquer aussitôt qu'elles sont publiées.
Il est conseillé d'effectuer la mise à jour immédiatement, comme proposé à la fin de l'instance.
Une mise à jour est recommandée
Voulez-vous effectuer une mise à jour via le réseau maintenant ? [oui/non]
Les mises à jour en ligne de commande
Il est important de tenir son système à jour. Pour cela, il est possible de lancer manuellement une mise à jour.
Les commandes Maj-Auto et Query-Auto
Ces scripts sont à utiliser pour mettre à jour un module au travers d'un accès internet :
Maj-Auto
: télécharge et installe les paquets à mettre à jour depuis le réseau ;Query-Auto
: télécharge et affiche la liste des paquets à mettre à jour depuis le réseau.
Sans préciser d'option, ces deux commandes affichent, téléchargent et installent des paquets stables, ils permettent également de tester (sur une machine dédiée aux tests) :
les paquets candidats lors de la sortie d'une version candidates avec l'option
-C
;les paquets de développements au fil de l'eau avec l'option
-D
.
Il est également possible de simuler l'installation avec l'option -n
ou de seulement télécharger en cache les paquets --download
.
AttentionReconfiguration
À la fin de l'exécution de la commande Maj-Auto
, si des paquets ont été mis à jour, un message vous invite à reconfigurer votre serveur avec la commande reconfigure
.
La reconfiguration est nécessaire car les paquets mis à jour ont copié leurs propres fichiers de configuration, le serveur est donc dans un état intermédiaire qui pourrait s'avérer instable.
Reconfigurer applique les changements venants des mises à jour tout en tenant compte de la configuration telle que définie lors de la configuration du serveur.
Remarque
La version candidate (nommée aussi RC pour Release Candidate) est une version d'EOLE qui correspond, du côté pratique, à la version stable. Elle est mise à disposition à des fins de tests de dernière minute visant à déceler les toutes dernières erreurs subsistant avant la sortie définitive de la version.
Tester les paquets candidats permet :
de contribuer et de participer à l'amélioration du projet ;
une validation par les utilisateurs des comportements attendus ;
de faire remonter des dysfonctionnements avant la publication définitive.
AttentionSuppression des commandes Maj-Cd et Query-Cd
Le mode d’installation des modules a évolué pour adopter la procédure d’Ubuntu.
Le CD-ROM d'installation ne contient plus les paquets spécifiques aux modules EOLE et ne peut plus servir de medium pour l'installation et la mise à jour.
Il n'est, par ailleurs, pas prévu de fournir des CD-ROM contenant les paquets d'une version donnée.
Les commandes Maj-Cd
et Query-Cd
ne sont donc plus proposées.
Options de mise à jour
Options communes aux scripts de mise à jour
Options spécifiques aux scripts Maj-Auto et Query-Auto
- -C : force la mise à jour en version candidate pour tous les dépôts par défaut ou pour le (ex : -C envole) ou les dépôts spécifiés (ex : -C eole envole) ;
- -D : force la mise à jour des paquets en développement pour tous les dépôts par défaut ou pour le (ex : -D envole) ou les dépôts spécifiés (ex : -D eole envole) ;
- -S : force le site de mise à jour EOLE (ex : -S test-eole.ac-dijon.fr) ;
- -U : force le site de mise à jour Ubuntu (ex : -U fr.archive.ubuntu.com) ;
- -V : force le site de mise à jour Envole (ex : -V test-eole.ac-dijon.fr).
Options spécifiques au script Maj-Auto
- -n : exécuter en mode simulation (dry run) équivaut à utiliser les commandes
Query-Auto
. - -r : exécuter reconfigure après une mise à jour réussie ;
- -R : exécuter reconfigure après une mise à jour réussie et redémarrer si nécessaire.
Options spécifiques au script Maj-Auto
- --download : procéder uniquement au téléchargement des paquets en cache.
Remarque
L'utilisation des options -C
ou -D
entraîne un avertissement et une demande de confirmation.
Toutes les options sont documentées dans les pages de manuel de chaque commande :
# man Maj-Auto
Dépôts additionnels
Il est possible de spécifier un dépôt particulier via l'onglet Dépôt tiers
de l'interface de configuration du module en mode expert.
Ce dépôt sera pris en compte à chaque exécution de la commande Maj-Auto
et lors des mises à jour automatiques du serveur.
Ajout de dépôts supplémentaires
Les outils Query-Auto
et Maj-Auto
réinitialisent systématiquement la liste des dépôts à utiliser pour les mises à jour et donc les fichiers /etc/apt/sources.list
.
Pour déclarer des dépôts supplémentaires, il est possible d'ajouter des fichiers possédant l'extension .list
dans le répertoire /etc/apt/sources.list.d
.
En mode conteneur, chacun des conteneurs utilise son propre répertoire. Il est donc possible de mettre en place des sources différentes en fonction du conteneur.
Truc & astuce
Pour tester les dépôts ajoutés, il est possible de lancer manuellement la mise à jour des sources avec la commande :
# apt-get update
Remarque
L'ajout de dépôts supplémentaires est proposé dans l'interface de configuration du module, en mode expert, dans l'onglet Dépôt tiers
.
Désactivation temporaire des mises à jour
Attention
Désactiver les mises à jour met en danger votre système. Il n'est pas recommandé de désactiver les mises à jour sauf dans certains cas et ce de manière temporaire.
Malgré les nombreux tests et la période d'incubation des paquets, il arrive parfois qu'un paquet ait un comportement inattendu, il est alors possible et souhaitable de ne pas déstabiliser l'ensemble du parc de machines. Reporter temporairement les mises à jour est l'une des solutions.
La désactivation des mises à jour peut s'effectuer de plusieurs façon :
désactiver la mise à jour hebdomadaire dans l'EAD ;
désactiver la mise à jour hebdomadaire avec Creole et eole-schedule ;
personnaliser la fréquence de la mise à jour dans l'interface de configuration du module, onglet
Schedule
;interdire les mises à jour du serveur dans le serveur Zéphir.
Installation manuelle de paquets
Il est possible d'installer manuellement des paquets :
pour installer des fonctionnalités additionnelles au module ;
pour éventuellement installer de manière sélective des mises à jour en vue de les tester.
Avant de procéder à l'installation d'un paquet, il faut s'assurer que les sources APT[24] sont configurées sur le bon type de mises à jour (stable, candidate, développement) et que la liste des paquets est à jour. Cela s'effectue avec la commande Query-Auto
:
mises à jour stables :
Query-Auto
;
mises à jour candidates :
Query-Auto -C
;
mises à jour de développement :
Query-Auto -D
;
Ensuite il faut utiliser la commande apt-eole
qui procède au téléchargement et à l'installation.
L'usage de la commande apt-eole
en lieu et place de la commande apt-get
est recommandée pour l'installation des paquets EOLE.
La commande apt-eole
s'utilise comme apt-get
:
# apt-eole install nomDuPaquet
Pour installer un paquet dans un conteneur, il faut utiliser l'option --container
:
# apt-eole --container <conteneur> install nomDuPaquet
Exemple
Pour installer le paquet eole-bareos
:
# apt-eole install eole-bareos
Remarque
La commande apt-eole
appelle la commande apt-get
avec les options adéquat (notamment les opérations install et remove) pour répondre aux besoins d'administration des modules EOLE :
elle n'est pas interactive pour fluidifier l'installation, le paramétrage sera de toute façon écrasé (le paramétrage demandé par le mode interactif est fait par la mécanique EOLE selon le contexte et selon les paramètres saisis dans l'interface de configuration du module) ;
elle permet de pouvoir gérer les paquets et les mises à jour à l'intérieur des conteneurs[17] proposés par EOLE.
Les administrateurs locaux à droits restreints
À l’instance, au moins un compte local d’administrateur à droits restreints est créés.
Ce type de compte est notamment utilisé pour accéder à l’interface d’administration EAD3.
Trois commandes sont proposées pour gérer ces comptes locaux.
list_restricted_admins
La commande list_restricted_admins retourne tous les comptes locaux appartenant au groupe adm et disposant de l’interface semi-graphique comme shell de connexion.
add_restricted_admin
La commande add_restricted_admin permet de créer un compte local appartenant aux groupes adm et mail et disposant de l’interface semi-graphique comme shell de connexion.
Remarque
À la différence de la procédure de création de comptes locaux supplémentaires à l’instance, le nom n’est pas contraint à eole suffixé d’un numéro.
del_restricted_admin
La commande del_restricted_admin permet de supprimer un compte local appartenant au groupe adm et disposant de l’interface semi-graphique comme shell de connexion.
Passage d'une version d'EOLE à une autre

Maj-Release
Le passage d'une version mineure à une autre (exemple de 2.8.0 à 2.8.1) est manuel et volontaire.
Il s'effectue par l'intermédiaire de la commande Maj-Release.
Il s'apparente à une grosse mise à jour car il n'implique pas de changement de la version d'Ubuntu utilisée en tant que base du module EOLE.
Remarque
Consulter le manuel de la commande pour voir toutes les options :
# man Maj-Release
Upgrade-Auto
Le passage d'une version majeure à la suivante (exemple de 2.8.1 à 2.9.0) est manuel et volontaire.
Il s'effectue par l'intermédiaire de la commande Upgrade-Auto.
Remarque
Consulter le manuel de la commande pour voir toutes les options :
# man Upgrade-Auto
Passage d'une version RC à une version stable
Avant d'être publiée en version RC, la distribution Linux EOLE subit de nombreux tests.
Aussi, elle ne contient plus aucun changement qui ne peuvent être résolus par mise à jour.
Il est donc possible d'installer une version EOLE RC, de la tester, de l'utiliser et de la mettre à jour pour être au même niveau de mise à jour que la version stable une fois que cette dernière version est publiée.
La mise à jour s'effectue avec la commande Maj-Auto
.
Remarque
Les versions RC portent un numéro, il signifie uniquement qu'une image ISO a été re-générée, un nombre conséquent de paquets ont été recompilés et cela évite une trop grosse mise à jour.
Les rôles sur le module AmonEcole
L'EAD est accessible :
- en authentification locale aux utilisateurs root et eole ;
- en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.
En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.
Dans le cadre du module AmonEcole, les rôles importants sont les suivants :
administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;
professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS ;
responsable de classe : en plus des actions "professeur", peut ré-initialiser le mot de passe des élèves des classes dont il est responsable ;
administratif dans Scribe ;
administrateur du Scribe ;
administrateur de l'Amon.
Truc & astuce
Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.
Accès "Administrateur"
Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.
L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.
Accès "Professeur"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Accès "responsable de classe"
Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :
la ré-initialisation du mot de passe d'un élève ;
l'appartenance d'un élève à un groupe ;
la création d'un groupe ;
etc.
ComplémentLes fonctions disponibles :
préférences personnelles ;
distribution de devoirs ;
gestion des imprimantes (CUPS) ;
création de groupe ;
ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;
édition groupée sur les membres de la/les classe(s) dont il est responsable.
Remarque
Un professeur peut être responsable de plusieurs classes.
Une classe peut se voir affecter plusieurs responsables.
Attention
Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.
Accès "Administratif du Scribe"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Accès "Administrateur du Scribe"
Sur un module AmonEcole, le rôle "Administrateur du Scribe" (admin_scribe) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Scribe.
ComplémentFonctionnalités Scribe
L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :
distribution de devoirs et de documents ;
création/gestion des utilisateurs, des groupes et des partages ;
configuration et gestion des imprimantes (CUPS) ;
importation CSV/SIECLE/AAF/ONDES ;
gestion des ACL ;
gestion des quotas disque ;
gestion des listes de diffusion ;
test de la bande passante du serveur ;
modification du mode de visualisation des postes élèves ;
consultation de l'historique des connexions ;
envoi d'un message aux utilisateurs connectés ;
extinction/redémarrage/fermeture de session sur les postes clients ;
gestion des comptes de machine ;
paramétrage et programmation des sauvegardes du serveur ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
Accès "Administrateur de l'Amon"
Sur un module AmonEcole, le rôle "Administrateur de l'Amon" (admin_amon) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Amon.
ComplémentFonctionnalités Amon
L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :
activation/désactivation de règles de pare-feu (directives optionnelles) ;
gestion d'exceptions de cache et d'authentification proxy ;
gestion des options du filtrages web pour les différentes instances, politiques et groupes ;
test de la bande passante du serveur ;
consultation des statistiques du proxy ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
Fonctionnalités de l'EAD propres au module AmonEcole
Les rôles sur le module AmonEcole
L'EAD est accessible :
- en authentification locale aux utilisateurs root et eole ;
- en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.
En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.
Dans le cadre du module AmonEcole, les rôles importants sont les suivants :
administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;
professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS ;
responsable de classe : en plus des actions "professeur", peut ré-initialiser le mot de passe des élèves des classes dont il est responsable ;
administratif dans Scribe ;
administrateur du Scribe ;
administrateur de l'Amon.
Truc & astuce
Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.
Accès "Administrateur"
Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.
L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.
Accès "Professeur"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Accès "responsable de classe"
Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :
la ré-initialisation du mot de passe d'un élève ;
l'appartenance d'un élève à un groupe ;
la création d'un groupe ;
etc.
ComplémentLes fonctions disponibles :
préférences personnelles ;
distribution de devoirs ;
gestion des imprimantes (CUPS) ;
création de groupe ;
ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;
édition groupée sur les membres de la/les classe(s) dont il est responsable.
Remarque
Un professeur peut être responsable de plusieurs classes.
Une classe peut se voir affecter plusieurs responsables.
Attention
Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.
Accès "Administratif du Scribe"
L'item Préférences permet à un utilisateur de :
modifier son mot de passe ;
s'inscrire/se désinscrire d'un groupe ;
renseigner/modifier son adresse mail.
L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.
Accès "Administrateur du Scribe"
Sur un module AmonEcole, le rôle "Administrateur du Scribe" (admin_scribe) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Scribe.
ComplémentFonctionnalités Scribe
L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :
distribution de devoirs et de documents ;
création/gestion des utilisateurs, des groupes et des partages ;
configuration et gestion des imprimantes (CUPS) ;
importation CSV/SIECLE/AAF/ONDES ;
gestion des ACL ;
gestion des quotas disque ;
gestion des listes de diffusion ;
test de la bande passante du serveur ;
modification du mode de visualisation des postes élèves ;
consultation de l'historique des connexions ;
envoi d'un message aux utilisateurs connectés ;
extinction/redémarrage/fermeture de session sur les postes clients ;
gestion des comptes de machine ;
paramétrage et programmation des sauvegardes du serveur ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
Accès "Administrateur de l'Amon"
Sur un module AmonEcole, le rôle "Administrateur de l'Amon" (admin_amon) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Amon.
ComplémentFonctionnalités Amon
L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :
activation/désactivation de règles de pare-feu (directives optionnelles) ;
gestion d'exceptions de cache et d'authentification proxy ;
gestion des options du filtrages web pour les différentes instances, politiques et groupes ;
test de la bande passante du serveur ;
consultation des statistiques du proxy ;
redémarrage des services ;
mise à jour ;
arrêt/redémarrage du serveur ;
gestion des rôles EAD.
Groupes et utilisateurs
Groupes
Un groupe est un ensemble d'utilisateurs (professeurs, personnels administratif ou élèves) pouvant avoir accès à un partage, à des applications web et/ou à des listes de diffusion.
Types de groupe
Il existe six types de groupe :
niveau, regroupe les élèves d'un niveau (Exemple : 3eme) ;
classe, regroupe les élèves d'une classe (un groupe de type équipe pédagogique profs-<classe> est automatiquement créé) ;
option, regroupe les élèves d'une option (un groupe de type équipe pédagogique profs-<option> est automatiquement créé) ;
matière, regroupe les professeurs d'une même matière (Exemple : higeo) ;
service, regroupe les personnels administratifs d'un même service ;
groupe de travail, permet de créer tout autre groupe thématique d'élèves et/ou de professeurs et/ou de personnels administratif .
Remarque
Il existe un mode multi-établissement qui permet de n'avoir qu'un seul module Scribe pour gérer plusieurs établissements. Dans ce mode un type de groupe supplémentaire nommé Établissement existe et se gère comme un nouveau type de groupe.
Partages
Un partage est un espace disque accessible par plusieurs utilisateurs permettant de stocker des documents communs.
En général, les enseignants et les personnels administratifs ont les droits de lecture/écriture sur tous les partages auxquels ils ont accès.
Pour les élèves, il existe trois modèles de partage :
lecture seule ;
lecture/écriture ;
données/travail : c'est un partage (en lecture seule) avec un sous répertoires
donnees
(en lecture seule) ettravail
(en lecture/écriture).
Les droits peuvent ensuite être affinés grâce à la mise en place de droits appelés ACL[25].
Listes de publipostage
Une liste de publipostage est une méthode de diffusion de courrier électronique, dans laquelle les abonnés de la liste peuvent envoyer des messages qui seront diffusés à tous les membres.
Trois listes existent systématiquement sur le module :
liste professeurs (ex. professeurs@i-etabtest.ac-dijon.fr)
liste élèves (ex. eleves@i-etabtest.ac-dijon.fr)
liste personnels administratif : administratifs@i-etabtest.ac-dijon.fr)
Lorsqu'une importation de comptes est effectuée, des listes de publipostage associées aux groupes sont créées :
par classe (ex. 3e2@i-etabtest.ac-dijon.fr)
par niveau (ex. 3eme@i-etabtest.ac-dijon.fr)
par équipe pédagogique (ex. profs-3e2@i-etabtest.ac-dijon.fr)
par option (ex. 3all1g1@i-etabtest.ac-dijon.fr)
par matière (ex. histgeo@i-etabtest.ac-dijon.fr)
par service administratif (ex. compta@i-etabtest.ac-dijon.fr)
par responsables des élèves d'une classe (ex. resp-3e2@i-etabtest.ac-dijon.fr)
Lors de la création d'une nouvelle liste, il y a deux possibilités :
- les listes restreintes ;
- les listes internet.
Il est possible d'envoyer des mail à la liste de publipostage depuis l'extérieur dans le cas de la liste Internet mais pas dans le cas de la liste restreinte.
Attention
Cette restriction doit être configurée sur le relai mail académique.
Remarque
Il n'y a pas de lien entre le domaine restreint et les listes restreintes. Le choix du type des adresses mail n'influence en rien le type des listes.
Des listes statiques peuvent être créées à partir de l'interface web de Sympa indépendamment de celles générées automatiquement.
Dans l'EAD, les listes associées aux groupes sont des listes dynamiques.
Pour personnaliser les listes dynamiques, il est également nécessaire de passer par l'interface web de Sympa.
Création de groupes
Pour créer un groupe de type niveau, classe, option, matière,
service ou un groupe de travail, il suffit d'aller dans le menu Gestion/Groupes/Création de groupe
de l'EAD et de choisir le type désiré.
Création d'un niveau
Remarque
Lors de l'importation, les niveaux sont créés avec une liste de publipostage sur le domaine restreint.
En mode multi-établissement, il faut également choisir l'établissement auquel le niveau doit être rattaché.
Création d'une classe
Pour créer une classe, il faut choisir son nom, son libellé (facultatif), le niveau associé et son type de liste de publipostage.
Puis cliquer sur valider
.
Les groupes de type classe sont créés obligatoirement avec un partage de type données/travail
et une liste de publipostage dont on doit choisir le type.
Les classes sont obligatoirement associés à un niveau.
La création d'une classe crée automatiquement un groupe de type équipe pédagogique profs-<classe>.
Remarque
À la création d'une classe, le groupe équipe pédagogique associé, son partage et les listes de publipostage (classe, équipe pédagogique et responsables légaux de la classe) sont créés automatiquement.
Un professeur est associé à une ou plusieurs équipes pédagogiques alors qu'un élève ne pourra être associé qu'à une classe.
En mode multi-établissement, la classe est automatiquement associée à l'établissement auquel est rattaché son niveau.
Liste de publipostage
À la création d'une classe, les listes de publipostage lié à la classe sont créés automatiquement :
- une liste pour la classe (xxxx@) ;
- une liste pour les profs (prof-xxxx@) ;
- une liste pour les responsables (resp-xxxx@).
Il est possible de choisir entre deux options :
domaine restreint (conseillé)
qui va créer :- une liste en domaine restreint pour la classe (xxxx@i-domaine) ;
- une liste en domaine restreint pour les profs (prof-xxxx@i-domaine) ;
- une liste en domaine restreint pour les responsables (resp-xxxx@i-domaine) qui aura le même domaine que la liste de classe (contrairement à celle des profs).
internet
qui va créer :- une liste internet pour la classe (xxxx@domaine) ;
- une liste en domaine restreint pour les profs (prof-xxxx@i-domaine) ;
- une liste internet pour les responsables (resp-xxxx@domaine).
Le partage de l'équipe pédagogique
Un partage "équipe pédagogique" contient les deux éléments suivants :
- le sous-répertoire "classe" : correspond au partage classe accessible par les élèves ;
- le sous-répertoire "eleves" : permet d'accéder à l'espace personnel de chaque élève de la classe, afin éventuellement de contrôler son travail. Le sous-répertoire "prive" n'est pas accessible aux professeurs. Il permet de garantir à l'élève un espace réellement personnel.
Les données spécifiques à l'équipe pédagogique doivent être placées à la racine du partage, mais il est tout à fait possible d'y créer un sous-répertoire, nommé par exemple "equipe", afin d'éviter toute confusion.

Création d'une option
Une option correspond à un sous-groupe d'élève suivant généralement un ou plusieurs cours ensemble.
Pour créer une option, il faut choisir son nom, son libellé (facultatif) et si on lui associe une liste de publipostage.
Puis cliquer sur valider
.
La création d'une option crée automatiquement un groupe de type équipe pédagogique profs-<option>.
Remarque
Les groupes de type option sont créés obligatoirement avec un partage de type données/travail
.
Lors d'une importation, les options correspondent à la notion de Groupe dans SIECLE.
En mode multi-établissement, il faut également choisir l'établissement auquel l'option doit être rattachée.
A la création d'une option, l'équipe pédagogique associée est créée automatiquement.
Un élève peut être associé à plusieurs options.
La liste de publipostage de l'équipe pédagogique n'est pas créée automatiquement mais elle peut être ajoutée ultérieurement.
Le partage "équipe pédagogique" d'une option fonctionne de la même manière que celui d'une classe.
Création d'un matière
Pour créer une matière, il faut choisir son nom, son libellé (facultatif) et si on lui associe un partage et/ou une liste de publipostage.
Puis cliquer sur valider
.
Lors de l'importation, les matières sont créées avec un partage en lecture/écriture pour ses membres et une liste de publipostage sur le domaine restreint.
Un professeur a accès aux partages des matières qu'il enseigne.
A sa création, le partage est vide. Les professeurs peuvent donc l'organiser à leur guise.
Remarque
En mode multi-établissement, il faut également choisir l'établissement auquel la matière doit être rattachée.
Création d'un service administratif
Pour créer une service administratif, il faut choisir son nom, son libellé (facultatif) et si on lui associe un partage et/ou une liste de publipostage.
Puis cliquer sur valider
.
Lors de l'importation, les services administratifs sont créés avec un partage en lecture/écriture pour ses membres et une liste de publipostage sur le domaine restreint.
Remarque
En mode multi-établissement, il faut également choisir l'établissement auquel le service doit être rattaché.
Création d'un groupe de travail
Remarque
En mode multi-établissement, il faut également choisir l'établissement auquel le groupe de travail doit être rattaché.
Création d'un établissement
Attention
Il n'est pas possible de renommer un groupe.
Peuplement des groupes
Ajouter un utilisateur à un groupe
La gestion des groupes d'un utilisateur est disponible dans la fiche utilisateur.
Celle-ci apparaît lorsque l'on édite l'utilisateur via les menus Gestion
/ Utilisateurs
/ Recherche d'utilisateur
puis cliquer sur Éditer
.
La fiche utilisateur peut aussi être atteinte en passant par la recherche de groupes même si le cheminement est plus long : Gestion
/ Groupes
/ Recherche de groupe
/ Lister des groupes
, choisir le type de groupe (niveau, matière, groupe…). Dans la liste de groupe affichée, cliquez sur Membres
pour afficher les utilisateurs appartenant au groupe sélectionné puis cliquez sur Éditer
.
L'ajout de l'utilisateur à un ou à plusieurs groupes s'effectue dans la partie Groupes de la fiche utilisateur. L'ajout est effectif après avoir cliqué sur Valider
.
Remarque
Il n'est pas possible de supprimer un élève de sa classe mais il est possible de changer un élève de classe.
Cette manipulation se fait par la liste déroulante Classe, il faut choisir une autre classe et cliquer sur Valider
.
Inscription groupée
L'inscription simultanée d'utilisateurs à un groupe de travail ou à une option se fait par le menu Gestion/Edition groupée
.
Il faut rechercher les utilisateurs suivant différents critères.
Ensuite, il faut cliquer sur le bouton Inscrire ces utilisateurs à d'autres groupes
, choisir le groupe et Valider
.

Remarque
Seuls les élèves sont concernés par l'inscription à un groupe option.
Suppression de groupes et d'appartenance à un groupe
Supprimer l'appartenance d'un utilisateur à un groupe
La gestion des groupes d'un utilisateur est disponible dans la fiche utilisateur.
Celle-ci apparaît lorsque l'on édite l'utilisateur via les menus Gestion
/ Utilisateurs
/ Recherche d'utilisateur
puis cliquer sur Éditer
.
La fiche utilisateur peut aussi être atteinte en passant par la recherche de groupes même si le cheminement est plus long : Gestion
/ Groupes
/ Recherche de groupe
/ Lister des groupes
, choisir le type de groupe (niveau, matière, groupe…). Dans la liste de groupe affichée, cliquez sur Membres
pour afficher les utilisateurs appartenant au groupe sélectionné puis cliquez sur Éditer
.
La suppression de l'utilisateur d'un ou de plusieurs groupes s'effectue dans la partie Groupes de la fiche utilisateur. La suppression n'est effectif qu'après avoir cliqué sur Valider
.
Remarque
Il n'est pas possible de supprimer un élève de sa classe mais il est possible de changer un élève de classe.
Cette manipulation se fait par la liste déroulante Classe, il faut choisir une autre classe et cliquer sur Valider
.
Suppression de groupes
Pour supprimer un groupe, il faut auparavant le sélectionner via le menu Gestion
/ Groupes
/ Recherche de groupe
/ Lister les groupes
.
Il est possible de choisir le type de groupe (niveau, matière, groupe…) et/ou éventuellement d'autres critères (partie du nom, vide ou non) afin de limiter le nombre de résultats affichés.
Une fois que le groupe souhaité apparaît dans la liste des groupes affichés, il faut cliquer sur le lien Supprimer ce groupe
qui lui est associé.

La suppression devra ensuite être confirmée en cliquant sur Valider
.

La suppression des répertoires associés est pré-cochée.
Si vous choisissez de conserver les répertoires, les partages seront déplacés dans /home/recyclage/<année>/workgroups
Remarque
Une classe pourra être supprimée uniquement si elle ne contient plus d'élèves.
Un niveau pourra être supprimé uniquement si plus aucune classe ne lui est associée.
La suppression d'une classe ou d'une option entraîne la suppression de l'équipe pédagogique associée.
Un groupe de type groupe peut être supprimé même si des utilisateurs lui sont encore associés.
Attention
Le dossier /home/recyclage/
peut grossir assez vite.
Groupes spéciaux
Présentation
DomainAdmins
Les membres du groupe DomainAdmins sont des utilisateurs privilégiés sur le domaine.
Ils ont :
- les droits d'administrateurs locaux des postes clients ;
- la possibilité de joindre les postes Windows au domaine ;
- un accès à l'ensemble des partages.
Attention
Il est fortement déconseillé d'inscrire l'ensemble des professeurs au groupe DomainAdmins .
Cela leur donnera un accès en lecture et en écriture sur tous les partages, y compris sur les répertoires personnels de tous les utilisateurs (admin inclus).
PrintOperators
Les membres du groupe PrintOperators sont des administrateurs pour les imprimantes.
Ils peuvent :
- installer les pilotes d'impression sur le serveur Samba ;
- installer et configurer les imprimantes dans CUPS.
Ajouter/supprimer un utilisateur à un groupe spécial
Utilisateurs
Il existe cinq types d'utilisateurs : les élèves, les professeurs, les personnels administratifs, les responsables légaux et les invités.
Pour chaque type, les informations demandées et les options disponibles sont différentes.
On peut regrouper les utilisateurs en deux catégories principales : les utilisateurs locaux et les utilisateurs externes.
Utilisateurs locaux
Les utilisateurs locaux sont ceux ayant accès au domaine local (partage de fichiers) ce sont :
- les élèves ;
- les professeurs ;
- les personnels administratifs.
Pour les utilisateurs locaux, il est possible de définir des quotas disque représentants la taille maximale de données que l'utilisateur peut créer sur le système de fichiers.
Pour les élèves et les professeurs, il est possible de définir une date d'expiration de compte.
Utilisateurs externes
Les utilisateurs externes sont ceux dont le compte ne donne accès qu'au portail et à une sélection d'applications web.
Ce sont :
- les responsables légaux ;
- les titulaires de comptes "invités".
Création de comptes utilisateurs
Création d'un compte élève
Remarque
Remarque
Domaine mail restreint et domaine mail Internet
Il est possible de choisir entre deux domaines de messagerie pour les élèves :
une adresse dans le
domaine restreint
: n'autorise l'envoi et la réception de courrier que depuis et vers une adresse située dans le même domaine académique que le domaine de la messagerie Scribe (voirNom de domaine de la messagerie de l'établissement
dans l'interface de configuration du module).Par exemple si votre domaine de messagerie Scribe est etab.ac-acad.fr, les utilisateurs ayant un compte mail dans le
domaine restreint
ne pourront envoyer ou recevoir que du courrier à destination ou en provenance d'adresses mail se terminant par ac-acad.fr (élèves et enseignant d'un même établissement ou de la même académie) ;une adresse dans le
domaine Internet
: autorise l'envoi et la réception de courrier depuis et vers n'importe quelle adresse.
Mode multi-établissement
Il existe un mode multi-établissement qui permet de n'avoir qu'un seul module Scribe pour gérer plusieurs établissements. Dans ce mode l'élève est automatiquement rattaché à l'établissement associé à sa classe.
Création d'un compte professeur
Un professeur peut utiliser son adresse mail académique afin de communiquer avec les utilisateurs Scribe.
Cette adresse sera aussi utilisée dans les listes de diffusion auto-générées (équipe pédagogique, matière, niveau, etc.).
Le professeur peut se connecter à l'EAD avec son propre login pour modifier ses préférences.
Il peut notamment modifier son adresse mail.
Remarque
En mode multi-établissement, il faut également choisir l'établissement associé à l'utilisateur.
Création d'un compte personnel administratif
Remarque
En mode multi-établissement, il faut également choisir l'établissement associé à l'utilisateur.
Création d'un compte responsable légal
La création d'un compte responsable légal nécessite de connaître l'identifiant (login) d'au moins un des élèves dont il a la responsabilité.
Les responsables légaux peuvent obtenir une adresse mail locale s'ils en font la demande.
Le remplissage des renseignements personnels permettra par la suite de fournir ces informations à d'autres applications (logiciel de suivi scolaire...).
Le champ Adresse
est multi-lignes à partir de la version 2.5.2 du module.
Remarque
En mode multi-établissement, les responsables légaux peuvent être associés à des élèves appartenant aux différents établissements déclarés.
Création d'un compte invité
Remarque
En mode multi-établissement, les comptes invités sont obligatoirement rattachés à l'établissement principal.
Gestion des comptes utilisateurs
Pour sélectionner un compte utilisateur, il faut auparavant le sélectionner via le menu Gestion/Utilisateurs/Recherche d'utilisateur
de l'EAD.
Il faut choisir judicieusement les critères de recherche afin de limiter le nombre de résultats affichés et cliquer sur Lister
.
Les utilisateurs apparaissent alors

Modification du mot de passe d'un utilisateur
Attention
Avec le passage en mode Active Directory, les mots de passe faibles, tels que la date de naissance, ne sont plus acceptés. Il faut au minimum 8 caractères de 3 classes de caractères différentes.
Extraction des mots de passe provisoires des élèves
À partir de la version 2.8.1, un formulaire permet d'exporter les identifiants temporaires générés lors de l'importation automatisée des comptes.
Le formulaire permettant l’export des identifiants provisoires est accessible via un lien en tête du listing des élèves, obtenu comme décrit précédemment.
Ce lien active l’affichage du formulaire composé d’une unique liste déroulante laissant le choix de la destination d’extraction. L’opération d’export est déclenchée en cliquant sur Valider
.
L’opération d’export se base sur la liste des élèves sélectionnés dont elle extrait ceux qui disposent encore du mot de passe provisoire défini lors de l’import automatisé. Ainsi, les identifiants provisoires exportés concernent uniquement les élèves dont le mot de passe n’a pas déjà été modifié, soit à la première connexion, soit par une autre procédure.
Une sélection d'élèves peut être répartie sur plusieurs classes.
Les identifiants provisoires exportés sont toujours regroupés par classe pour en faciliter la communication.
À la fin de l’opération d’export, une fenêtre modale s’affiche avec un résumé du résultat. Le résultat peut être un succès complet ou un échec plus ou moins partiel.


Trois choix sont possibles pour l’exportation :
Administrateurs de la classe
: exportation dans des fichiers copiés dans un sous-répertoire des dossiers personnels des administrateurs des classes concernées ;Soi-même
: exportation dans des fichiers copiés dans un sous-répertoire du dossier personnel de l'administrateur effectuant l’export (connecté à l’EAD) ;À l’écran
: affichage à l’écran.
Dans le cas de l’export vers les dossiers des administrateurs des classes concernées (Administrateurs de la classe
), les identifiants provisoires sont écrits dans un fichier par classe. Chaque fichier est copié dans un emplacement accessible aux administrateurs des classes pour leur permettre d’en communiquer le contenu aux élèves concernés.
Un rapport complet des opérations est également affiché à la suite du formulaire, une fois l'opération achevée et la fenêtre modale fermée.
Le résultat de l’opération, par classe, peut être un succès (un fichier par classe est créé dans le répertoire des administrateurs de classe concernés) ou un échec (la classe n’a pas d’administrateur déclaré).
Dans le cas de l’export vers le dossier de l’administrateur effectuant l’opération (Soi-même
), les identifiants provisoires sont écrits dans un fichier par classe. Tous les fichiers créés sont copiés dans un emplacement accessible à l’administrateur qui à déclenché l ’export.
Un rapport complet des opérations est également affiché à la suite du formulaire, une fois l'opération achevée et la fenêtre modale fermée.Le résultat de l’opération, par classe, peut être un succès (un fichier par classe est créé dans le répertoire des administrateurs de classe concernés) ou un échec (l’emplacement de copie par défaut n’est pas accessible). Contrairement à la méthode précédente, les identifiants provisoires des élèves d’une classe sans administrateur déclaré sont bien exportés.
Attention
L’export n’est opérant que si la sélection comporte des élèves mais n’est toutefois pas désactivé si ce n’est pas le cas.
Dans ce cas, la tentative d'accéder au formulaire d'export se traduit par une erreur.
Édition d'un compte utilisateur
Suppression d'un compte utilisateur
Pour supprimer un compte utilisateur, il faut cliquer sur le lien Supprimer associé à l'utilisateur affiché dans la liste.
La suppression devra ensuite être confirmée.
Si la case associée à la suppression des données de l'utilisateur est décochée :
- ses données (
perso
) seront déplacés dans/home/recyclage/<année>/<lettre>/<login>
; - ses messages électroniques (
mailDir
) seront déplacés dans/home/recyclage/<année>/<mail>/<login>
.
Sinon elles seront supprimées définitivement.
Remarque
Si tous les élèves d'un responsable ont été supprimés, celui-ci doit l'être également.
AttentionSuppression d'un compte unique
Les comptes utilisateurs AD ne sont pas supprimés par la synchronisation en temps réel qui se contente uniquement de les désinscrire de tous leurs groupes autres que Domain Users
.
Seule une synchronisation complète permet le nettoyage des comptes supprimés.
La synchronisation complète est exécutée toutes les nuits.
Attention
Le dossier /home/recyclage/
peut grossir assez vite.
L'édition groupée
L'édition groupée, disponible par le menu Gestion/Edition groupée
de l'EAD permet d'effectuer des modifications sur des sélections d'utilisateurs.
Un outil de recherche (semblable à celui de l'outil Recherche d'utilisateur
) permet de réaliser une présélection des utilisateurs à modifier
La sélection peut ensuite être affinée par l'utilisation des cases à cocher et des boutons Tous et Aucun.
Les opérations disponibles sont les suivantes :
- inscription des utilisateurs à une option (élèves uniquement) ou à un groupe de travail
- attribution d'un quota disque aux utilisateurs (comptes locaux uniquement)
- modification du domaine mail local des utilisateurs
- modification du profil Windows des utilisateurs (comptes locaux uniquement)
- réinitialisation du mot de passe des utilisateurs selon certains critères
- activation/désactivation du shell des utilisateurs (comptes locaux uniquement)
- association d'un rôle aux utilisateurs
L'outil de purge des comptes
L'outil de purge des comptes permet de faciliter la suppression des comptes des utilisateurs n'ayant plus de lien avec l'établissement.
Il est accessible par le menu Gestion/Utilisateurs/Purge des comptes
de l'EAD.
Le principe de fonctionnement de l'outil de purge des comptes est d'afficher les comptes utilisateurs qui n'ont pas été modifiés/retrouvés depuis un nombre de jours défini.
L'outil permet également de mettre en valeur les comptes susceptibles d'être des doublons (Homonymes).
Les actions possibles sur les comptes sélectionnés sont :
-
supprimer (en conservant leurs données) : suppression des comptes et sauvegardes de leurs données dans
/home/recyclage/<année>/
; - supprimer totalement : suppression des comptes et de leurs données ;
- mettre à jour (leur date de mise à jour sera mise à aujourd'hui) : les comptes n’apparaîtront plus dans la liste.
Remarque
Si une importation a été réalisée, le nombre de jours proposé est calculé en fonction de la date de la dernière importation.
Gestion fine des groupes et des utilisateurs : ACL
Modification des ACLs sous Windows
Avec un utilisateur ayant les privilèges nécessaires, depuis un poste client Windows, clic droit sur le fichier/dossier => Propriétés => Sécurité
;
Modification des ACLs dans l'EAD
Le menu Outils/Gestion des Acls
permet de modifier les ACLs[25] (droits étendus) sur les partages créés dans /home/workgroups
.
Cette dernière méthode est la seule permettant de modifier les droits sur la racine d'un partage.
Il est possible de changer les droits sur des fichiers et des répertoires cachés.
Remarque
Dans la partie ACLS DU RÉPERTOIRE
du formulaire :
l'étoile "*" indique que l'utilisateur ou le groupe en question est propriétaire du fichier ou du répertoire au niveau des droits Unix ;
la case à cocher Rec permet d'appliquer la modification de façon récursive ;
Cette case est toujours décochée au chargement et rechargement du formulaire : elle n'indique pas un état mais sert à utiliser l'option -R dans les commandes setfacl sur le serveur. Il faut donc la cocher à chaque fois qu'on désire appliquer un changement récursivement.
la ligne acl par défaut seront les ACLs appliquées par défaut lors de la création d'un fichier ou d'un répertoire.
Attention
La levé d'une autorisation (suppression d'un droit : lecture, écriture, exécution ) est toujours récursive.
Visualisation des quotas disque dans l'EAD
Fonctionnement des quotas disque
Il est possible, pour chaque utilisateur, de limiter la quantité de données qu'il peut stocker sur le serveur en lui imposant un quota disque maximum.
Les quotas sont composés d'une limite douce (soft) et d'une limite dure (hard).
À partir d'EOLE 2.8.1, le calcul de la limite dure est réglable via l'interface de configuration du module. Par défaut il vaut le double (200%) de la limite douce.
Dans l'interface EAD, c'est la limite douce qui est indiquée.
Remarque
Les règles suivantes s'appliquent à l'utilisateur :
il ne peut pas dépasser la limite dure ;
il peut dépasser la limite douce pendant 7 jours ;
passé ce délai, seule la limite douce est prise en compte et il est obligé de supprimer des données afin de repasser en dessous de celle-ci ;
à partir de là, le processus de la limite douce/dure reprend et l'utilisateur peut à nouveau dépasser la limite douce pour une durée maximale de 7 jours.
AttentionAttribution des limites liées aux quotas
Les limites de quotas s'appliquent à la création des utilisateurs, leur modification ultérieure ne s'applique donc pas automatiquement aux les utilisateurs déjà créés.
Les quotas sur le module Scribe
Attention
Les quotas sont appliqués sur la partition /home
. Les quotas concernent, ainsi, l'ensemble des fichiers créés par l'utilisateur sur le serveur (dossiers personnels, partages équipe pédagogique, classe, groupes, etc.).
Désynchronisation des quotas disque
Il peut arriver qu'il y ait une désynchronisation entre l'utilisation réelle du disque et le système de vérification des quotas.
Cela se traduit généralement par le fait que des utilisateurs sont considérés à tort comme dépassant leur quota disque.
La commande quotacheck
permet de corriger le problème. Son utilisation demande quelques précautions.
Exemple
Exemple d'utilisation de quotacheck sur le module Scribe où /home
est la partition utilisée pour les données et les quotas utilisateurs.
arrêter les différents services susceptibles d'écrire sur la partition (samba, proftpd, exim4, ...) ;
démonter les éventuels montages liés à cette partition (images ISO, ...) ;
désactiver les quotas sur la partition :
quotaoff /home
;lancer la vérification des quotas :
quotacheck -vug /home
;réactiver les quotas sur la partition :
quotaon /home
;remonter les partitions :
mount -a
;démarrer les services précédemment arrêtés.
Truc & astuce
Cette procédure est également à appliquer dans le cas où la commande repquota -a ne rend plus la main.
Étendre les droits d'un personnel administratif avec les droits d'un enseignant
Cette fonctionnalité est utile pour permettre à un personnel administratif (chef d'établissement, adjoint, CPE, documentalistes, vie scolaire) d'accéder à des fonctionnalités attribuées d'office à un enseignant :
accéder au partage professeurs (montage
P:
) ;distribuer des documents au travers de l'EAD ou d'EOP ;
avoir un accès en lecture au répertoire personnel des élèves d'une classe ;
changer le mot de passe des élèves d'une classe ;
être inscrit à la liste de diffusion professeurs.
Attention
Une fois ajoutée, cette extension des droits est irréversible.
Il n'est pas possible de réaliser cette opération à la création d'un compte administratif, il faut d'abord procéder à la création si le compte n'existe pas et ensuite procéder à son édition.
Pour étendre les droits d'un compte administratif il faut se rendre dans le menu Gestion → Utilisateurs → Recherche d'utilisateur, puis dans la page, choisir administratif
dans la liste Type de l'utilisateur et cliquer sur Lister
.
Un tableau récapitule la liste des utilisateurs de type administratif, cliquer sur le lien Editer
de la ligne correspondant à l'utilisateur auquel il faut étendre les droits.
Dans le formulaire qui s'affiche, cocher la case Conférer les droits du profil professeur à cet utilisateur (action irréversible)
et cliquer sur le bouton Valider
.
Une fenêtre surgissante s'affiche avec un message expliquant que les modifications ont bien été effectuées.
Cliquer sur le bouton Valider
de la fenêtre.
Toujours dans le formulaire d'édition du compte principal, attribuer à l'utilisateur la ou les classes désirées dans la partie ADMINISTRATION DE CLASSES
, et attribuer la ou les équipes pédagogiques correspondantes dans la partie EQUIPES PEDAGOGIQUES
, puis cliquer sur le bouton Valider
.
Une fenêtre surgissante s'affiche avec un message expliquant que les modifications ont bien été effectuées.
Cliquer sur le bouton Valider
de la fenêtre.
Importation de comptes
L'importation est le mécanisme permettant de créer des comptes utilisateurs et des groupes à partir de données extraites d'outils externes tels que SIECLE (ex Sconet), AAF ou ONDE (ex BE1D).
Elle peut se faire par l'EAD ou en mode console.
L'ordre d'importation recommandé est le suivant : d'abord les élèves puis les enseignants.
En effet, un enseignant est affecté à ses équipes pédagogiques uniquement si celles-ci existent et que la classe ou le groupe associé comporte des élèves. En important les enseignants en premier, il y a un risque pour que ceux-ci ne soient pas affectés aux équipes pédagogiques.
Cette situation peut se vérifier par la présence des lignes suivantes dans le fichier journal /var/log/eole/importation.log
DEBUG Option <option> non trouvée (sans élèves ?)
Attention
Il est recommandé d'effectuer une sauvegarde avant de lancer la procédure d'importation.
Préparation des fichiers nécessaires à l'importation
Avant une importation il faut préparer ou récupérer les fichiers requis.
Il est conseillé d'enregistrer ces fichiers et de les conserver après l'importation.
SIECLE/STS
Pour l'importation des comptes élèves et responsables, il faut récupérer quatre fichiers XML compressés parmi ceux proposés dans les "Exports XML génériques" de l'application SIECLE[27] (ex Sconet).
Ces fichiers sont traditionnellement nommés :
-
ExportXML_ElevesSansAdresses.zip
-
ExportXML_Nomenclature.zip
-
ExportXML_ResponsablesAvecAdresses.zip
-
ExportXML_Structures.zip
Pour l'importation des comptes professeurs et personnel administratifs, il faut télécharger un fichier XML depuis les "Exports"' de l'application STS-Web. Ce fichier possède un nom de la forme :
-
sts_emp_<rne_etablissement>_<année>.xml
AAF
Il faut exporter quatre fichiers XML AAF depuis l'application AAF[28] (Annuaire Académique Fédérateur).
Ces fichiers sont traditionnellement nommés :
-
ENT_<rne_etablissement>_Complet_<date>_Eleve_0000.xml
-
ENT_<rne_etablissement>_Complet_<date>_PersEducNat_0000.xml
-
ENT_<rne_etablissement>_Complet_<date>_EtabEducNat_0000.xml
-
ENT_<rne_etablissement>_Complet_<date>_PersRelEleve_0000.xml
Ces fichiers peuvent être obtenus auprès de votre rectorat.
Remarque
Les adresses électroniques des responsables ainsi que leurs numéros de téléphone mobile sont désormais disponibles dans les exports AAF. Les adresses postales sont également multi-lignes. Ces nouveautés sont prises en charge par la procédure d'importation AAF à partir de la version 2.5.2 d'EOLE.
Remarque
Attention
Depuis 2019, c'est le Pôle de Compétences IH2M - Identité
basé à Orléans qui diffuse les éléments liés à l'Annuaire Académique Fédérateur.
ONDE/BE1D
Fichier élèves
ComplémentAncien format BE1D
L'ancien format d'export de BE1D et toujours supporté. Les champs attendus dans ce cas sont les suivants :
- Nom Élève
- Prénom Élève
- Date naissance
- Sexe
- Niveau
- Classe
Fichier responsables
Il est également possible d'importer les responsables légaux des élèves.
Le fichier CSV décrivant les responsables légaux doit posséder les champs :
- Nom responsable
- Prénom responsable
- Civilité Responsable
- Adresse responsable
- CP responsable
- Commune responsable
- Pays
- Courriel
- Téléphone domicile
- Téléphone travail
- Téléphone portable
- Nom de famille enfant
- Prénom enfant
- Classes enfants
Texte
Cette fonctionnalité permet aux établissements n'utilisant pas l'une des applications précédemment citées (lycées agricoles, établissements situés à l'étranger, ...) d'importer facilement des utilisateurs à partir de fichiers CSV[29] simplifiés.
Elle peut également compléter une importation réalisée à partir des fichiers générés avec les outils précédemment cités.
Les fichiers peuvent être créés à la main ou extraits depuis une application tierce.
Les fichiers CSV doivent respecter les éléments suivants :
- en-tête indiquant les champs fournis
- séparateur le point-virgule (";")
- pas de séparateur de texte
- encodage en ISO-8859-1 ou en UTF-8
AttentionEn-tête du fichier CSV
Les fichiers d'entrée doivent impérativement posséder un champ d'en-tête comprenant au minimum chacun des mots clé associés aux champs obligatoires du type de compte importé.
L'en-tête permet une pré-validation les informations et permet de s'affranchir de l'ordre des champs.
Quelque soit le type d'utilisateur importé, les champs login et le mot de passe sont facultatifs.
Il servent uniquement dans le cas où l'on veut forcer leur valeur (exemple : récupération de comptes existants). Si ces champs sont absents ou à vide, le login sera généré automatiquement par l'application.
Si les notions de numéro élève, numéro professeur et/ou niveau n'existent pas dans l'établissement, il est possible de remplir ces champs avec une valeur identique pour tous.
AttentionMot de passe forcé
Si un mot de passe forcé ne respecte pas la politique de mot de passe appliquée sur le serveur, celui-ci sera arbitrairement remplacé par un mot de passe aléatoire "valide".
Champs élève
Champs obligatoires
- numero : numéro de l'élève
- nom : nom de famille
- prenom : prénom
- sexe : civilité (M ou F)
- date : date de naissance au format
jjmmaaaa
oujj/mm/aaaa
- classe : classe
- niveau : niveau
Champs facultatifs
- login : login forcé
- password : mot de passe forcé
- options : options suivies par l'élève, séparées par le caractère "|"
ExempleExemple de fichier élèves
numero;nom;prenom;sexe;date;classe;niveau;options;
999;Martin;Jean;M;23/05/2010;3e2;3eme;opt1|opt2;
Champs enseignant
Champs obligatoires
- numero : numéro de l'enseignant
- nom : nom de famille
- prenom : prénom
- sexe : civilité (M ou F)
- date : date de naissance au format
jjmmaaaa
oujj/mm/aaaa
Champs facultatifs
- login : login forcé
- password : mot de passe forcé
- classes : classes dans lesquelles intervient l'enseignant, séparées par le caractère "|"
- options : options dans lesquelles intervient l'enseignant, séparées par le caractère "|"
ExempleExemple de fichier enseignants
numero;nom;prenom;sexe;date;classes;options;login;password;
333;Durand;Marc;M;01/01/1985;3e1|3e2;opt1;mdurand;P@ssW0rd;
Champs personnel administratif
Champs obligatoires
- numero : numéro du personnel administratif
- nom : nom de famille
- prenom : prénom
- sexe : civilité (M ou F)
- date : date de naissance au format
jjmmaaaa
oujj/mm/aaaa
Champs facultatifs
- login : login forcé
- password : mot de passe forcé
Champs compte invité
Champs obligatoires
- nom : nom de famille
- prenom : prénom
- sexe : civilité (M ou F)
- date : date de naissance au format
jjmmaaaa
oujj/mm/aaaa
Champs facultatifs
- login : login forcé
- password : mot de passe forcé
Importation par l'EAD
L'outil d'importation est accessible par le menu Outils/Importation
de l'EAD.
Types d'importation
La première chose à faire est de choisir son type d'importation :
Mise à jour des bases : ajoute les utilisateurs et groupes manquants sans modifier les groupes existants ;
Importation annuelle des bases : ajoute les utilisateurs et groupes manquants après avoir purgé les options (import des élèves) ou les équipes pédagogiques (import des professeurs).
Truc & astuce
Dans le cas où l'import initial doit être réalisé en plusieurs passes (cités scolaires...), l'option importation annuelle ne doit être utilisée qu'au premier tour.
Il est tout à fait possible de relancer des importations annuelles en cours d'année afin que la prise en compte des changements d'options et des modifications d'équipes pédagogiques soient complètes.
Par contre, cela peut venir en contradiction avec des modifications "manuelles" non répercutées dans les données utilisées pour mettre à jour les comptes.
Sources de données
La seconde étape de l'importation est le choix de la source de données à utiliser.
Ce choix dépend du format des fichiers préparés pour l'importation.

Données à importer
La troisième étape de l'importation est le choix des données (types de comptes) à importer.
Les choix proposés à cette étape dépendent de la source de données sélectionnée à l'étape précédente.
Le choix doit généralement être fait entre les élèves (avec ou sans responsables) et les enseignants (avec ou sans personnels administratifs).

Préférences pour la création des comptes
La quatrième étape de l'importation consiste à renseigner les options à utiliser pour créer les nouveaux comptes utilisateurs.
Les préférences se paramètrent par type d'utilisateur.
Le nombre de formulaires à valider dépendra donc des choix réalisés lors des 2 étapes précédentes.
Remarque
Les préférences sont conservées d'une importation à l'autre.
Attention
Avec le passage en mode Active Directory, les mots de passe faibles, tels que la date de naissance, ne sont plus acceptés. Il faut au minimum 8 caractères de 3 classes de caractères différentes.
ComplémentGénération des identifiants
Dans le cas où c'est le format prenom.nom
qui a été choisi, si le login généré dépasse les 19 caractères, alors c'est le format p.nom
qui est utilisé à la place.
Ceci s'explique par des raisons historiques : la fenêtre de login Windows 98 n'acceptait que 20 caractères, mais également pratiques : peu d'utilisateurs accepteraient d'entrer un login de plus de 20 caractères !
Préférences des comptes élèves
Les choix proposés sont les suivants :
Domaine de messagerie par défaut : les adresses mail des nouveaux élèves peuvent être générées soit dans le domaine restreint soit dans le domaine Internet (modifiable par la suite) ;
Quota disque : ce quota disque sera appliqué à tous les nouveaux élèves ; il pourra ensuite être personnalisé pour chaque classe, chaque utilisateur ;
Génération des identifiants : format de création des logins pour les nouveaux élèves ;
Changement du mot de passe à la première connexion : la fonctionnalité est désactivée, elle permettait d'obliger les nouveaux élèves à changer leur mot de passe lors de leur première connexion Samba ;
Activer le shell : permet d'attribuer un shell valide aux nouveaux élèves (modifiable par la suite) ;
Profil Windows : choix du profil Windows à appliquer aux nouveaux élèves (modifiable par la suite).
Remarque
Il existe un mode multi-établissement qui permet de n'avoir qu'un seul module Scribe pour gérer plusieurs établissements. Dans ce mode, deux options supplémentaires apparaissent :
- le choix de l'établissement ;
- le choix d'un préfixe à appliquer sur les noms des groupes rattachés à l'établissement.
Préférences des comptes responsables
Préférences des comptes enseignants
Les choix proposés sont les suivants :
Quota disque : ce quota disque sera appliqué à tous les nouveaux enseignants ; il pourra ensuite être personnalisé pour chaque professeur si nécessaire ;
Génération des identifiants : format de création des logins pour les nouveaux enseignants ;
Changement du mot de passe à la première connexion : la fonctionnalité est désactivée, elle permettait d'obliger les nouveaux enseignants à changer leur mot de passe lors de leur première connexion Samba ;
Activer le shell : permet d'attribuer un shell valide aux nouveaux enseignants (modifiable par la suite) ;
Profil Windows : choix du profil Windows à appliquer aux nouveaux enseignants (modifiable par la suite) ;
Adresse mail : façon dont est attribuée l'adresse mail aux nouveaux enseignants (modifiable par la suite).
Préférences des comptes administratifs
Les choix proposés sont les suivants :
Quota disque : ce quota disque sera appliqué à tous les nouveaux personnels (modifiable par la suite) ;
Changement du mot de passe à la première connexion : la fonctionnalité est désactivée, elle permettait d'obliger les nouveaux personnels à changer leur mot de passe lors de leur première connexion Samba ;
Activer le shell : permet d'attribuer un shell valide aux nouveaux personnels (modifiable par la suite) ;
Profil Windows : choix du profil Windows à appliquer aux nouveaux personnels (modifiable par la suite) ;
Adresse mail : façon dont est attribuée l'adresse mail aux nouveaux personnels (modifiable par la suite).
Remarque
En mode multi-établissement, les personnels administratifs sont automatiquement rattachés à l'établissement choisi au niveau des préférences des enseignants.
Préférences des comptes invités
Téléchargement des fichiers
Lecture des fichiers
Les fichiers téléchargés doivent ensuite être traités.
Pour lancer le traitement, il faut cliquer sur le lien Lancer la lecture des fichiers
.
La lecture s'effectue ensuite étape par étape.
Elle est terminée lorsque le mot FIN apparaît.

Remarque
Il est toujours possible d'annuler le processus d'importation tant que le traitement final n'a pas été lancé.
Importation des comptes
Une fois les fichiers lus, il n'y a plus qu'à créer effectivement les comptes utilisateurs et les groupes.
Pour lancer le traitement final, il faut cliquer sur le lien Lancer l'importation
.
Le traitement s'effectue ensuite étape par étape.
Il est terminé lorsque la phrase FIN DE L'IMPORTATION DE COMPTES apparaît.

Rapport d'importation et liste des comptes
Une copie horodatée de ce rapport est également disponible dans le dossier importation
du répertoire personnel de l'utilisateur admin. Le nom exact de ce fichier (de la forme : rapport_<date>_<heure>.txt) est indiqué tout en bas du rapport visible par l'EAD.
Le dossier importation
contient également la liste des comptes créés/retrouvés lors de l'importation est disponible au format CSV. Un fichier CSV horodaté est généré par type d'utilisateur créé (exemple : responsables_20091225_0001.csv).
Le nom exact de ces fichiers est indiqué dans le rapport visible par l'EAD.
Les mots de passe des utilisateurs retrouvés lors de l'importation ne sont pas modifiés.
Dans les fichiers de liste des comptes, il sont représentés par le mot clé : (déjà attribué).
Remarque
L’action de gestion des utilisateurs permet d’exporter les identifiants provisoires des élèves contenus dans les fichiers au format CSV générés dans le répertoire personnel du compte admin par les procédures automatisées d’importation.
Remarque
Dans le cas d'une délégation de droits, les rapports d'importations sont copiés dans le dossier importation du répertoire personnel de l'utilisateur qui a fait l'importation.
Les fichiers de liste des compte des importations précédentes sont toujours disponibles grâce à l'horodatage des fichiers.
Après plusieurs importations, il est tout de même conseillé de nettoyer le dossier importation
.
En cas d'erreur durant l'importation, il peut également être utile de consulter le fichier : /var/log/rsyslog/local/ead-server/ead-server.info.log
.
Truc & astuce
Après l'importation, il est conseillé d'utiliser l'outil de purge des compte pour supprimer facilement les compte des utilisateurs n'ayant plus de lien avec l'établissement
Attention
Lors d'une importation, les élèves sont retrouvés grâce aux nom, prénom, date de naissance et numéro élève.
Une différence, même minime, risque d'entraîner la création d'un doublon.
Importation en mode console
Il est également possible de réaliser une importation en mode console en utilisant le compte root.
Cette version de l'outil d'importation est plutôt réservée au développement et au débogage.
Elle se lance en utilisant la commande : importation_scribe
Elle s'utilise soit directement sur le serveur, soit via SSH (en activant, de préférence, le transfert X11).
Les fichiers utilisés pour l'importation doivent, bien sûr, être présents sur le serveur.
Déléguer l'importation
L'EAD permet la délégation de droits. Ainsi, il est possible de confier l'importation des comptes à un utilisateur non administrateur.
Pour mettre en place la délégation de droits, il faut se rendre dans le menu Édition des rôles
→ Création de rôle
→ Créer un rôle
.
Après avoir choisi un intitulé et un libellé pour le rôle il faut sélectionner les 6 actions suivantes :
scribe_extraction
;scribe_extraction_aaf
;scribe_extraction_be1d
;scribe_extraction_csv2
;scribe_extraction_preferences
;scribe_extraction_sconet
.
Cliquer sur l'icône Ajouter
puis Valider
.
Une fois le rôle créé il faut associer une clé LDAP avec le nouveau rôle.
Dans le menu Édition des rôles
→ Association de rôles
choisir Login de l'utilisateur
(Utilisateurs ldap
) dans le menu déroulant. Ensuite dans le champ Valeur de la clé
, saisir le login (uid) de l'utilisateur à qui déléguer le rôle. Enfin dans la liste Choix du rôle
choisir le libellé du rôle créé à l'étape précédente.
Remarque
Après avoir procédé à l'importation, l'utilisateur peut accéder aux rapports qui sont stockés dans son répertoire personnel (dossier importation
).
Informations complémentaires
Rapport complet
Ordre d'importation
L'ordre d'importation recommandé est le suivant : d'abord les élèves puis les enseignants.
En effet, un enseignant est affecté à ses équipes pédagogiques uniquement si celles-ci existent et que la classe ou le groupe associé comporte des élèves. En important les enseignants en premier, il y a un risque pour que ceux-ci ne soient pas affectés aux équipes pédagogiques.
Cette situation peut se vérifier par la présence des lignes suivantes dans le fichier journal /var/log/eole/importation.log
DEBUG Option <option> non trouvée (sans élèves ?)
Renommage de groupes
Dans certaines situations, il peut arriver que des groupes (principalement les classes) soient renommées par le mécanisme d'importation.
Ce renommage consiste en l'ajout d'un suffixe (la lettre c
pour les classes) devant le nom original du groupe.
Les causes d'un renommage sont généralement les suivantes :
- le nom du groupe est totalement numérique (ex :
301
pour 3eme1) ; - il existe une homonymie au niveau des groupes (ex : niveau et classe dénommés
6g
).
Distribution de documents dans l'EAD
FIXME 2.7.1
L'EAD offre la possibilité aux enseignants de distribuer des documents et des travaux éducatifs (évaluation, bilan, contrôle ou devoir contrôlé).
Les fonctionnalités sont équivalentes à celles disponibles dans le logiciel Gestion-postes
mais contrairement à celui-ci, qui n'est accessible que depuis les clients Windows de l'établissement, elles sont disponibles à travers le portail Envole et donc accessibles depuis l'extérieur de l'établissement.

La distribution de documents au travers de l'EAD permet de faire une distribution immédiate ou différée des documents. Dans le cas d'une distribution différée (voir Choix du répertoire de destination), les documents sont préparés avec l'EAD et leur accès sera activé au moment opportun avec Gestion-Postes
.
La distribution peut être composée de deux éléments :
le ou les documents sous forme d'un ou plusieurs fichiers. Ils seront copiés dans chacun des dossiers personnels
devoirs
/nom_de_l'enseignant
/<nom_du_devoir>
des utilisateurs du groupe sélectionné. Les utilisateurs auront un accès en lecture et en écriture à ces fichiers (modification/suppression) ;les données jointes au(x) document(s) qui sont des fichiers supplémentaires dont la modification est impossible. Ils sont copiés une seule fois à un endroit spécifique du serveur. Des liens symbolique vers ces fichiers sont créés dans le sous-répertoire
donnees
du répertoiredevoirs
/nom_de_l'enseignant
/nom_devoir
de chacun des utilisateurs.
Si la distribution de document est un travail éducatif, la distribution s'effectue en suivant les 4 étapes suivantes :
distribuer ;
ramasser ;
rendre : distribution des devoirs corrigés ;
supprimer : effacement des fichiers du devoir.
Distribuer des documents
Étape 1 : Choix du groupe et du nom du document
Il faut avant tout choisir, dans le menu déroulant Choix du groupe
, la classe, la matière ou l'équipe à qui l'ont veut distribuer un ou plusieurs documents. Puis on choisit un nom Nom du document
pour l'espace de travail. Il apparaîtra dans le répertoire personnel de chacun des utilisateurs sous la forme devoirs
/ nom_de_l'enseignant
/ <espace_de_travail>
et contiendra les documents de travail et les données.
Le nom du document ne doit comporter ni espace ni caractère accentué.
La case Uniquement aux élèves du groupe
est cochée par défaut. Décochée, elle permet d'envoyer les documents aux autres membres du groupe, comme par exemple aux enseignants.
Étape 2 : Télécharger les documents à distribuer
Le bouton Parcourir
permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger
, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer.
Étape 3 : Télécharger les données à joindre au document
Le bouton Parcourir
permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger
, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer. Cette étape n'est pas obligatoire.
Étape 4 : Choix du répertoire de destination
Par défaut, l'option Dans le dossier 'perso\devoirs'
étant sélectionnée, les documents seront distribués dans le répertoire personnel des utilisateurs.
L'option Dans le partage 'devoirs' (non accessible par défaut)
permet de préparer la distribution différée de documents. Ce travail de préparation peut donc se faire aussi bien à l'extérieur qu'à l'intérieur de l'établissement. La distribution ne sera effective qu'au travers du logiciel Gestion-postes
.
Dernière étape : Distribuer
Valider le bouton Distribuer
pour que la distribution soit effective.
Truc & astuce
Il est possible de distribuer les mêmes documents à plusieurs groupes :
Étape 1 : Choix du groupe et du nom du document
Il faut choisir un autre groupe dans le menu déroulant et obligatoirement changer le nom de l'espace de travail Nom du document
.
Étape 2 : Télécharger les documents à distribuer
S'il n'y a qu'un document, son chemin est encore dans le champ parcourir. Il suffit alors de cliquer sur le bouton Charger
. À défaut, il faut recharger les différents documents à distribuer.
Étape 3 : Télécharger les données à joindre au document
S'il n'y a qu'une donnée, son chemin est encore dans le champ parcourir, il suffit de cliquer sur le bouton Charger
. À défaut, il faut recharger les différentes données à distribuer.
Ramasser des documents
Cette fonctionnalité permet de ramasser les travaux des utilisateurs.
Les documents ramassés se retrouvent dans l'arborescence du dossier personnel de l'utilisateur les ayant ramassés :
…
/ perso
/ devoirs
/ ramasses
/ Nom de l'espace de travail (Nom du document)
/ Identifiant des élèves
/
Rendre des documents
Supprimer les données
Lorsqu'un enseignant distribue des données en plus des documents, elles sont copiées dans U:\devoirs\.distribues
et des liens vers ces fichiers sont ensuite créés dans le répertoire nom_du_devoir
\ donnes
de chacun des destinataires.
Il est possible de supprimer ces fichiers lorsqu'ils sont devenus inutiles.
Attention
La suppression des données entraînera également la suppression du dossier
<nom_du_devoir>
\donnees
dans le dossier des destinataires.Cette fonctionnalité permet de supprimer les données liées à une distribution de document qui ne seraient plus utiles par la suite. Elle permet donc d'économiser de la place sur le serveur de stockage.
Gestion des machines clientes du domaine
Attention
Ces actions sont forcées, si une session est ouverte, le travail de l'utilisateur NE sera PAS sauvegardé et la fermeture des applications forcée.
Remarque
Dans les versions précédentes d'EOLE, il était possible de connaître les utilisateurs connectés sur chacun des postes et de forcer la fermeture de sa session. Cette fonctionnalité sera rétablie dès que possible.
Gestion des connexions dans l'EAD
Gestion des utilisateurs connectés
Le menu Outils/Connexion
permet de connaître les utilisateurs connectés et de connaître leurs fichiers ouverts.
En listant les connectés, il est possible de connaître également la liste des fichiers ouvert par l'utilisateur. Pour cela, cliquer sur le bouton "Afficher" dans la colonne "Fichiers" :

Historique des connexions
L'historique des connexions affiche les dernières ouvertures de sessions sur le domaine Samba en commençant par la plus récente.
L'historique concerne uniquement la semaine courante.

Truc & astuce
Les connexions sont journalisées dans le fichier /var/log/rsyslog/local/smbd_audit/smbd_audit.notice.log
.
Il est possible de retrouver des connexions plus anciennes en consultant les archives de ce fichier (ex. /var/log/rsyslog/local/smbd_audit/smbd_audit.notice.log.1.gz
).
Il est possible d'afficher l'historique de connexion avec la commande journalctl -t smbd_audit
.
Exemple
Voici comment retrouver l'historique des connexions d'un compte utilisateur :
root@scribe:~# journalctl -t smbd_audit | grep admin
2020/12/11 09:10:52|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|IPC$
2020/12/11 09:10:52|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|admin
2020/12/11 09:11:20|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|icones$
2020/12/11 09:11:21|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|groupes
2020/12/11 09:11:22|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|commun
2020/12/11 09:11:25|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|professeur
La sortie IPC$ représente une connexion à une machine du domaine.
La sortie <nom_utilisateur> représente le connexion du compte utilisateur au domaine
La sorte <répertoire> représente la connexion de l'utilisateur aux partages.
Pour enregistrer cette liste de connexions du compte admin dans un fichier :
root@scribe:~# ( journalctl -t smbd_audit | grep admin) > /root/journauxDeConnexionsAdmin.log
Toutes sortes de tris peuvent être effectués en adaptant la commande grep. Cette commande est sensible à la casse sauf si l'option -i est ajoutée.
Réservation d'adresse IP dans l'EAD
Si le service DHCP est activé sur le module EOLE, il est possible de fixer les adresses de certaines machines via l'EAD.
L'action dhcp
apparaît dans le menu Outils/DHCP statique
de l'EAD.
Pour associer un nom et une adresse IP à une machine, il faut connaître son adresse MAC.
Pour faciliter les enregistrements, les informations sur les stations déjà connues du serveur DHCP sont directement réutilisables.
Pour cela, il suffit de sélectionner la machine souhaitée au niveau de la liste déroulante Baux en cours
.
Attention
À partir de la version 2.7.1, les contraintes de réservation sont modifiées.
Une IP ne peut pas être réservée en dehors d’un sous-réseau déclaré dans l'interface de configuration du module (Adresse réseau de la plage DHCP
/ Masque de sous-réseau de la plage DHCP
) et elle doit rester en dehors des plages déclarées pour ce sous-réseau (IP basse de la plage DHCP
/ IP haute de la plage DHCP
).
Directives optionnelles ERA depuis l'EAD
Les modèles de pare-feu ERA peuvent contenir des directives optionnelles[11].
Une règle peut être :
- générale, si elle concerne uniquement l'interface externe ;
- spécifique à une zone de configuration, si elle concerne une interface interne de la zone, dans ce cas, elle apparaîtra dans les règles du filtre web auquel est rattaché l'interface source de la directive.
La configuration générale est accessible par le menu EAD : Configuration générale
/ Règles du pare-feu
.
La configuration spécifique est accessible par le menu EAD : Filtre web X
/ Règles du pare-feu
:
Pour valider une directive optionnelle :
- choisir Actif ;
- valider.
Truc & astuce
Les directives optionnelles activées/désactivées dans l'EAD sont enregistrées dans le fichier : /var/lib/eole/config/regles.csv
AttentionLien entre ERA et les directives optionnelles de l'EAD
Pour les règles optionnelles, l'EAD prime sur l'ERA : elles sont pilotées par l'EAD. Une directive peut être marquée comme étant active par défaut dans ERA et ne pas être active car désactivée dans l'interface EAD.
Exceptions sur la source ou la destination
Par défaut, tous les accès à des sites nécessitent une authentification (si elle est active) et toutes les machines du réseau doivent s'identifier. Mais certains systèmes ou logiciels doivent pouvoir se mettre à jour de façon transparente.
Par ailleurs, le proxy conserve une version des pages téléchargées en cache pour limiter la consommation réseau. Ce comportement n'est pas adapté à tous les sites.
Pour les sites comportant des données sensibles, il est nécessaire de s'assurer que des données relatives à la navigation sur ce domaine ne soient pas placées dans le cache du serveur.
Certaines machines peuvent également avoir besoin de naviguer avec des données provenant directement du site consulté.
Certains postes clients ou serveurs du réseau ont besoin d'effectuer des mises à jour automatiquement, les sites de mise à jour doivent être accessibles sans authentification.
Certaines machines peuvent également avoir besoin de naviguer sans être authentifiées.
Pour cela, il existe deux mécanismes :
- ne pas utiliser de cache ou d'authentification pour certains sites (destination) ;
- ne pas utiliser de cache ou d'authentification pour certaines machines locales (source).
Pour paramétrer les destinations et les sources qui n'utiliseront pas le cache ou l'authentification lors de la navigation il faut se rendre dans Configuration générale
puis Cache et Authentification
de l'interface EAD du module.
Cache et authentification de la destination
Dans Configuration générale
/ Cache et Authentification
/ Destinations
:
- entrer l'adresse IP ou le nom du domaine ;
- cocher authentification et/ou cache ;
- valider.

Pour supprimer une référence, cliquer sur la croix rouge correspondante :

Remarque
Les exceptions "destinations" sont écrites dans :
/etc/squid/domaines_nocache_user
/var/lib/eole/domaines_noauth_user
: référence pour la génération des fichiers :/etc/squid/domaines_noauth_user
/etc/guardian/common/domaines_noauth_user
Sur le module AmonEcole, ces fichiers sont dans le conteneur reseau.
Cache et authentification de la source
Dans Configuration Générale
/ Cache et Authentification
/ Sources
:
- entrer l'adresse IP ou réseau
- cocher authentification et/ou cache ;
- valider.

Pour supprimer une référence, cliquer sur la croix rouge correspondante :

Remarque
Les exceptions "sources" sont écrites dans :
/etc/squid/src_nocache_user
/etc/squid/src_noauth_user
Sur le module AmonEcole, ces fichiers sont dans le conteneur reseau.
Personnalisations académiques
Attention
À partir d'EOLE 2.8, les exceptions d'authentification pour les destinations doivent être déclarées à la fois dans Squid[31] et dans e2guardian[32].
Le format des adresses à fournir à e2guardian est différent de celui utilisé pour Squid (pas de "." devant un nom de domaine "global", interdiction de déclarer un sous-domaine d'un domaine déjà présent).
Des listes de sites et d'adresses académiques peuvent être gérées indépendamment de l'EAD par l'intermédiaire des fichiers suivants :
-
/etc/squid/domaines_nocache_acad
: liste de destinations pour lesquelles ne pas utiliser le cache ; -
/etc/squid/src_noauth_acad
: liste de sources à ne pas authentifier ; -
/etc/squid/src_nocache_acad
: liste de sources pour lesquelles ne pas utiliser le cache ; -
/etc/squid/domaines_nopeerproxy
: liste de destinations pour lesquelles on n'utilise pas le proxy père ;
Listes pour e2guardian :
/etc/guardian/common/domaines_noauth
; Le fichier domaines_noauth contient les exceptions provenant de GenConfig et d'un template Creole ; Dans gen_config => Exceptions proxy => Liste des domaines de destination à ne pas authentifier (variables Creole :proxy_noauth)/etc/guardian/common/domaines_noauth_acad
; Le fichier domaines_noauth_acad est par convention modifié/envoyé par Zéphir.
Attention
L'utilisation des fichiers /etc/squid/domaines_noauth_acad
pour gérer la liste de destinations à ne pas authentifier est dépréciée depuis la version 2.5.2. Il faut utiliser la fonctionnalité de l'onglet Exceptions proxy
de l'interface de configuration du module.
Filtrage web
Avec le filtrage web, il est possible :
- de configurer la manière dont le filtrage s'effectue ;
- d'associer une politique de filtrage (interdits, modérateurs, liste blanche...) à des utilisateurs (seulement si l'authentification est activée durant la phase de configuration) ;
- d'associer une politique de filtrage (interdits, modérateurs, liste blanche...) à des machines.
Cette configuration s'effectue :
- par zone :
Filtre web 1
etFiltre web 2
; - de manière plus fine, par politique de filtrage ;
- de façon prioritaire sur les utilisateur puis sur les machines si l'authentification est désactivée sinon de façon prioritaires sur les machines puis sur les utilisateurs.
En fonction de la configuration du filtrage effectuée dans l'interface de configuration du module deux sections nommée filtre web peuvent être disponibles dans l'EAD : Filtre web 1 et Filtre web 2.

La section Filtre web 3 est visible si une deuxième instance de Squid a été activée dans l'interface de configuration du module.
Remarque
Certaines fonctionnalités n'ont pas d'intérêt dans le cadre du Filtre web 3
puisqu'elles sont est déjà couvertes par les 2 autres filtres qui se partagent la gestion de toutes les interfaces.
Groupe de machine : Filtrage par machine ou par groupe de machine
Présentation
Le module Amon propose de gérer des groupes de machine par plage d'adresse IP.
En ajoutant une référence à ce groupe, il est possible :
- de lui interdire l'accès au réseau ;
- de lui interdire la navigation web seulement ;
- de lui autoriser la navigation web selon des horaires ;
- de lui associer une politique de filtrage web spécifique
Complément
Les informations liées aux groupes de machine sont stockées dans :
/usr/share/ead2/backend/tmp/ipset_group<num_instance>.txt
Les éventuelles plages horaires associées sont dans :
/usr/share/ead2/backend/tmp/ipset_schedules<num_instance>.pickle
Créer un groupe de machine
Pour configurer un groupe de machine de la zone 1, aller dans Filtre web 1
/ Groupe de machine
.
Cliquer sur Nouveau groupe de machine
et un formulaire de création apparaît.
Remplir :
- nom pour le groupe de machine ( sans accents ni caractères spéciaux ) ;
- donner l'adresse IP de début de plage ;
- donner l'adresse IP de fin de plage ;
- si plusieurs interfaces réseau sont associés à cette zone, il vous demandera le nom de l'interface ;
- valider.
Le groupe de machine est dans la liste et peut être géré.
Remarque
S'il ne vous est pas possible de choisir l'interface de votre groupe lors de sa création, c'est qu'une seule interface du pare-feu est associée à cette zone.
À partir de la version 2.5.2 d'EOLE, il n'est plus obligatoire que la plage d'adresse du groupe soit de classe C.
Un trop grand nombre d'adresses dans un groupe peut entraîner une baisse de performance.
Limiter l'accès réseau
Dans la colonne Interdictions
, il est possible de choisir parmi :
Jamais
: permet de ne jamais interdire l'accès au web ;Le web tout le temps
: permet d'interdire la navigation web tout le temps.L'accès au proxy, sur le port 3128 et selon la configuration, sur les ports du second proxy (3129 par défaut) est bloqué pour les plages d'IP stockées dans des ipset.
À partir de la version 2.6.1 d'EOLE, la navigation sans proxy ne subit pas de restrictions particulières, elle s'effectue donc avec les règles déjà en place sur le module (par défaut : affichage d'une page d'erreur indiquant que le proxy n'est pas configuré).
Le web selon des horaires
: permet d'interdire la navigation web selon des horaires sont à définir au préalable (utilise les mêmes règles queLe web tout le temps
mais avec des plages horaires) ;Toute activité réseau
: permet d'interdire toute activité réseau (toutes les requêtes issues des plages d'adresse IP stockées dans des ipset sont rejetées par des règles iptables).
Le filtrage et les restrictions basées sur des plages horaires sont appliquées par l'utilisation du module time du logiciel iptables.
iptables interprète les dates en UTC[33], il y a donc un décalage normal entre ce qui est saisi dans l'interface et les informations renvoyées par la commande iptables-save
.
ExempleInterdire le groupe de navigation web
Dans la colonne Interdictions
, choisir Le web tout le temps
.
Si vous désirez faire une interdiction de navigation selon des horaires, il faut :
- configurer des horaires ;
- appliquer l'interdiction.
ExempleConfiguration des horaires
Dans la colonne Interdictions
, choisir Le web selon horaires
.
Cliquer sur l'horloge, la gestion des horaires apparaît.
- choisir la plage horaire d'autorisation ;
- choisir les jours d'applications ;
- valider.
Les plages horaires définies s'affichent (la croix permet de supprimer la plage).
Remarque
Sans plage horaire définie, la navigation web est interdite tout le temps
La modification des plages horaires est dynamique.
Si le groupe de machine est interdit de navigation web selon horaires, il est possible de modifier les plages horaires.
Il est aussi possible de copier les horaires depuis un autre groupe de machine.
- choisir le groupe dans la liste ;
- valider.
ExempleInterdire l'accès au réseau
Pour interdire tout accès réseau à notre groupe de machine, dans la colonne Interdictions
, choisir Toute activité réseau
.
Spécifier une politique de filtrage
Il est possible d'associer une ou plusieurs politiques de filtrage à un groupe de machine. Elles proviennent du logiciel de filtrage e2guardian et sont associées aux plages d'adresses IP grâce à la fonctionnalité ipgroups du plugin d'authentification ip intégré à ce logiciel.
Pour associer une politique de filtrage, choisir la politique dans la colonne politique optionnelle
.
Certaines politiques de filtrage sont fixes :
- modérateur ;
- interdits ;
- mode liste blanche.
D'autres sont configurables :
- Défaut ;
- 1 ;
- 2 ;
- 3 ;
- 4.
Attention
Le mode modérateur n'est pas compatible avec l'authentification NTLM : #19351.
ComplémentCorrespondance entre numéro de politique et mode de fonctionnement
Pour chaque instance de e2guardian, 8 politiques sont pré-définies par les fichiers guardianfX.conf
:
- politique n°1 : politique par défaut (
politiquedefaut
) ; - politique n°2 : utilisateur modérateur (
groupmoderateurs
) ; - politique n°3 : utilisateur interdit (
groupinterdits
) ; - politique n°4 : utilisateur en mode liste blanche (
grouplisteblanche
) ; - politique n°5 : politique de filtrage personnalisée n°1 (
politique1
) ; - politique n°6 : politique de filtrage personnalisée n°2 (
politique2
) ; - politique n°7 : politique de filtrage personnalisée n°3 (
politique3
) ; - politique n°8 : politique de filtrage personnalisée n°4 (
politique4
).
Supprimer un groupe de machine
Pour supprimer un groupe de machine, cliquez sur la croix en face de votre groupe de machine.
Ajouter des ipset personnalisés
Sources et destinations : Interdire l'accès à un sous-réseau depuis une interface
Dans l'EAD il est possible d'interdire l'accès à un sous-réseau depuis une interface.
Cette fonctionnalité se base sur des règles iptables standard et sur l'utilisation du module time d'iptables dans le cas des destinations interdites par plage horaire.
Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut Filtre web 1
. Puis sélectionner Sources et destinations
et enfin Destinations interdites
.
Pour interdire une destination il faut :
- définir le sous-réseau (ou le poste) de destination ;
- choisir l'interface source depuis laquelle interdire l'accès (n'apparaît que s'il existe plusieurs interfaces rattachées au filtre web sélectionné).
ExempleInterdire l'accès au sous-réseau 10.121.11.0/255.255.255.0 depuis l'interface admin (xxx)
Soit l'interface X sur la zone de filtre web X.
- Saisir
10.121.11.0/255.255.255.0
dansDestinations à interdire
; - Choisir
admin (xxx)
dans la listeInterface associée à l'adresse
; - Cliquer sur
Ajouter
.
Un message de confirmation "L'adresse 10.121.11.0/255.255.255.0 a été ajoutée à la liste des destinations interdites. Le pare-feu a bien été redémarré" apparaît.
ExempleAnnuler une interdiction
Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut
Filtre web 1
. Puis sélectionner Sources et destinations
et enfin Destinations interdites
.
- Choisir l'interdiction à supprimer dans la liste ;
- Cliquer sur
Supprimer
.
Complément
Les destinations interdites sont écrites dans :
/usr/share/ead2/backend/tmp/dest_interdites<num_instance>.txt
Sources et destinations : Interdire ou restreindre l'activité d'un sous-réseau
Dans l'EAD il est possible d'interdire l'accès web en fonctions de plages horaires ou d'interdire l'activité à tout un sous-réseau .
Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut Filtre web 1
. Puis sélectionner Sources et destinations
et enfin Sources interdites
.
Les paramètres à saisir sont :
- la
Source à interdire
: le sous-réseau (ou poste) sur lequel les restrictions doivent être appliquées ; - l'
Interface associée à l'adresse
(n'apparaît que s'il existe plusieurs interfaces rattachées au filtre web sélectionné) ; - les plages horaires et journalières de la restriction (restriction web uniquement) ;
- le
Niveau de restriction
: web ou réseau.
Remarque
Avec le niveau de restriction Seulement le web
, l'accès au proxy, sur le port 3128 et selon la configuration, sur les ports du second proxy (3129 par défaut).
À partir de la version 2.6.1 d'EOLE, la navigation sans proxy ne subit pas de restrictions particulières, elle s'effectue donc avec les règles déjà en place sur le module (par défaut : affichage d'une page d'erreur indiquant que le proxy n'est pas configuré).
ExempleInterdire l'accès web depuis le sous-réseau 10.21.11.0/255.255.255.0 provenant de l'interface 1 tous les jours entre minuit et 6 heures du matin
Soit l'interface 1 sur la zone de filtre web 1 :
- Saisir
10.121.11.0/255.255.255.0
dansSource à interdire
; - Choisir
admin (xxx)
dans la listeInterface associée à l'adresse
; - Sélectionner
0:01
comme heure de début et06:30
comme heure de fin ; - Sélectionner les jours : du lundi au dimanche ;
- Choisir
Seulement le web
commeNiveau de restriction
; - Cliquer sur
Ajouter
.
Un message de confirmation "L'adresse 10.121.11.0/255.255.255.0 a été ajoutée à la liste des postes interdits de navigation web. Le pare-feu a bien été redémarré" apparaît.
Le filtrage et les restrictions basées sur des plages horaires sont appliquées par l'utilisation du module time du logiciel iptables.
iptables interprète les dates en UTC[33], il y a donc un décalage normal entre ce qui est saisi dans l'interface et les informations renvoyées par la commande iptables-save
.
ExempleAnnuler une interdiction
Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut
Filtre web 1
. Puis sélectionner Sources et destinations
et enfin Sources interdites
.
- Choisir l'interdiction à supprimer dans la liste ;
- Cliquer sur
Supprimer
.
Complément
Les sources interdites d'accès web sont écrites dans :
/usr/share/ead2/backend/tmp/horaire_ip<num_instance>.txt
Les sources interdites d'accès réseau sont écrites dans :
/usr/share/ead2/backend/tmp/poste_all<num_instance>.txt
Visites des sites : Observatoire des navigations
L'observatoire des navigations est un outil de consultation des logs de l'outil de filtrage e2guardian[32].
Configuration
L'accès à cet outil se paramètre dans l'interface de configuration du module, dans l'onglet expert : Filtrage web
.
La question Autoriser la consultation des logs liés au filtrage web dans l'EAD
propose plusieurs options :
oui
: accès autorisé pour les utilisateurs EAD possédant les actionsnavigation_visit_admin
et/ounavigation_visit_pedago
;non
: accès interdit pour tout le monde, personne ne voit le lienVisites des sites
(configuration par défaut) ;admin seulement
: accès autorisé uniquement pour le rôleadmin
.
Consultation
Sites : Bases de filtres optionnels
Les bases de filtres proposées sur le module Amon sont des copies de celles gérées par l'université de Toulouse 1 Capitole : http://cri.univ-tlse1.fr/blacklists.
L'université de Toulouse 1 Capitole diffuse depuis de nombreuses années une liste noire d'URLs, gérée par Fabrice Prigent afin de permettre un meilleur contrôle de l'utilisation d'Internet.
Les bases, publiées sous licence d'utilisation Creative Commons by-sa 4.0, sont largement utilisées par les écoles et sont également intégrées dans un grand nombre d'outils libres ou commerciaux, en complément d'autres listes.
Les bases sont mises à jour 2 à 3 fois par semaine en fonction des disponibilités du mainteneur, elles peuvent être enrichies grâce à une formulaire en anglais : http://dsi.ut-capitole.fr/cgi-bin/squidguard_modify.cgi.
Ces bases de filtres proposent des catégories avec des listes de domaines et d'URL triés par catégories.
Les sites référencés dans les catégories adult
et redirector
sont interdits d'office.
Les autres bases de filtres sont activables depuis l'interface EAD.
L'activation se fait :
- par filtre web ;
- par politique de filtrage.
La mise à jour des bases de filtres est lancée automatiquement toutes les nuits
Un rapport de mise à jour est disponible sur la page d'accueil de l'EAD.

ExemplePour activer la catégorie "agressif" sur toute la zone de configuration 1
Remarque
Pour activer une catégorie seulement pour une politique de filtrage[35], seule la case correspondant à la politique doit être cochée.
Truc & astuce
La commande suivante permet de forcer la mise à jour les bases de filtrages :
/usr/share/eole/sbin/Maj-blacklist.sh
Complément
La liste des bases de filtres d'interdiction gérées sur le module EOLE est fournie par le fichier : /usr/share/ead2/backend/config/filtres-opt
.
La modification des filtres optionnels activés impactent les fichiers suivants :
-
/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/bannedsitelist
-
/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/bannedurllist
Sur le module AmonEcole, ces fichiers sont dans le conteneur reseau
.
Sites : Filtrage syntaxique
Configuration du filtrage syntaxique
Le module Amon filtre dynamiquement les pages web grâce au filtrage syntaxique[36].
Ce système de pondération par mot clef se base sur le fichier /var/lib/blacklists/meta/weighted
qui est mis à jour toutes les nuits, à partir des données gracieusement gérées et mises à disposition par l'académie de Rouen.
Dans l'EAD, le filtrage syntaxique peut être :
- sur les balises méta[37] (par défaut) ;
- sur la page entière ;
- désactivé.
Il est possible de régler ce filtrage pour chaque zone de configuration.
Pour modifier la configuration, aller dans Filtre web 1
/ Filtrage
.

Le mode de filtrage syntaxique choisi est enregistré dans le fichier :
/var/lib/eole/config/filtrage-contenu<num_instance>
RemarqueLimite de pondération
Le réglage par défaut de la limite de pondération peut être modifié dans l'interface de configuration du module dans l'onglet Filtrage web
.
RemarqueMode safe search dans les moteurs de recherche
En complément, des redirections DNS sont mises en place afin que le mode safe search[38] des principaux moteurs de recherche et sites d'hébergement de vidéos soit activé automatiquement (Qwant, Youtube, Bing, Google…).
Des variables de configuration, disponibles dans l'onglet Mode restreint
, permettent d'activer ou non le mode restreint pour certaines applications.
RemarqueFiltrage PICS
Le filtrage PICS (http://www.w3.org/PICS) ne s'active automatique que si le filtrage syntaxique est configuré sur la page entière
.
Sites : Interdire et autoriser des domaines
Interdire des domaines et des URL
Il est possible de compléter la liste de sites interdits (liste noire[39]) en ajoutant des domaines ou des URL sur la liste personnalisée de domaines interdits.
Cette liste est applicable :
- a une zone entière ;
- de manière plus fine sur une seule politique de filtrage.
Le formulaire qui permet d'interdire des domaines est atteignable par le menu portant le nom du filtre choisi dans l'interface de configuration du module, Filtre web 1
par défaut puis Sites
/ Domaines interdits
.
Les domaines interdits sont écrits dans :
/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/domains
Sur un module AmonEcole, ces fichiers sont dans le conteneur internet
.
Truc & astuceAjout de sites interdits personnalisés par les académies ou les collectivités
Des listes de domaines et d'URL peuvent être gérées indépendamment de l'EAD par l'intermédiaire des fichiers suivants :
/var/lib/blacklists/dansguardian<num_instance>/common/domains_acad
/var/lib/blacklists/dansguardian<num_instance>/common/urls_acad
Sur un module AmonEcole, ces fichiers sont dans le conteneur internet
.
Signaler de sites
Il est possible de signaler des domaines à interdire qui amélioreront les performances et la qualité des bases nationales de domaines interdits.
Pour cela, aller dans Outils
/ Signalements
.
Une procédure automatisée a été mise en place afin de recueillir les propositions de domaine à interdire dans les bases nationales.
Un ensemble de moteurs logiciels analysera l'URL soumise et une vérification visuelle aura lieu si besoin avant l'incorporation du domaine dans les listes de domaines interdits.
La participation de chacun à ce processus permet d'améliorer les bases nationales et leur performance et ce afin que chacun puisse en bénéficier.
Truc & astuce
Il est également possible de faire une signalement directement auprès de l'université de Toulouse 1 Capitole grâce à une formulaire en anglais : http://dsi.ut-capitole.fr/cgi-bin/squidguard_modify.cgi.
Autoriser des domaines et des URL
Il est possible de forcer l'autorisation de domaines ou d'URL (liste blanche[40]) en les ajoutant à la liste des domaines autorisés.
Cette liste de domaines s'applique :
- sur une zone de filtre web portant le nom du filtre choisi dans l'interface de configuration du module ;
- de manière plus fine par politique de configuration (si des utilisateurs ou des groupes de machine ont été associés à des politiques optionnelles).
Le formulaire se trouve dans Filtre web 1
/ Sites
/ Sites autorisés
Le formulaire qui permet d'autoriser des domaines est atteignable par le menu portant le nom du filtre choisi dans l'interface de configuration du module, Filtre web 1
par défaut puis Sites
/ Domaines autorisés
.
Les domaines autorisés sont écrits dans :
/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/whites
Sur le module AmonEcole, ces fichiers sont dans le conteneur internet
.
Truc & astuceAjout de sites autorisés personnalisés par les académies ou les collectivités
Il est possible d’ajouter manuellement des domaines dans la liste blanche afin d’autoriser l’accès à ces domaines dans tous les cas. Pour ce faire, il suffit d’éditer le fichier /var/lib/blacklists/white/freelist
et d’y ajouter un domaine par ligne (exemple : departement41.fr
).
Sur le module AmonEcole, ces fichiers sont dans le conteneur internet
.
Sites : Interdire des extensions et des types MIME
Interdire des extensions
Il est possible d'interdire des extensions, ainsi si l'URL de navigation pointe vers un fichier portant cette extension, l'accès sera interdit.
Cette interdiction s'applique :
- sur une zone de configuration ;
- de manière plus fine par politique de configuration (si des utilisateurs ou des groupes de machine ont été associés à des politiques optionnelles).
Le formulaire se trouve dans Filtre web 1
/ Sites
/ Extensions
.

Attention
Cette fonctionnalité n'est pas compatible avec le protocole HTTPS.
Complément
Les extensions interdites sont écrites dans :
/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/extensions
Sur AmonEcole, ces fichiers sont dans le conteneur reseau
.
Interdire des types MIME
Il est possible d'interdire des types MIME[41]. Cette interdiction fonctionne comme celle des extensions.
Cette interdiction s'applique :
- sur une zone de configuration ;
- de manière plus fine par politique de configuration (si des utilisateurs ou des groupes de machine ont été associés à des politiques optionnelles).
Le formulaire se trouve dans Filtre web 1
/ Sites
/ type MIME
.

Attention
Cette fonctionnalité n'est pas compatible avec le protocole HTTPS.
Complément
Les types MIME interdits sont écrits dans :
/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/types_mime
Sur AmonEcole, ces fichiers sont dans le conteneur reseau
.
Sites : Politique liste blanche
Le politique liste blanche[40] permet de restreindre la navigation web à une liste de sites autorisés.
Le principe est "tout est interdit sauf".
Attention
Le mode liste blanche n'est compatible que lorsque déchiffrement HTTPS
est activé sur Squid (dans gen_config).
ExempleRestreindre la navigation au site Wikipédia pour les utilisateurs en mode liste blanche de la zone nommée par défaut "Filtre web 2"
Dans Filtre web 2
/ Sites
/ Sites du mode liste blanche
- ajouter un domaine avec ou sans sous-domaine (exemple fr.wikipedia.org) dans le champ
Ajouter un site au mode liste blanche
; - cliquer sur le bouton
Valider
.
Les utilisateurs et les postes ayant pour politique de filtrage "mode liste blanche" ne pourront naviguer que sur le site ajouté à la liste blanche (exemple Wikipédia).
ExempleSupprimer un site de la liste blanche
Complément
Les sites de la liste blanche sont écrits dans :
/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/site_liste_blanche
Sur un module AmonEcole, ces fichiers sont dans le conteneur internet
.
Utilisateurs : Filtrage par utilisateur
Si l'authentification a été activée sur la zone durant la phase de configuration, il est possible de définir, pour l'utilisateur, une des politiques de filtrage suivante :
- modérateur (lorsqu'un site est interdit, un lien lui est proposé pour outrepasser l'interdiction) ;
- interdits (aucune navigation web n'est possible pour cet utilisateur) ;
- mode liste blanche (seuls les sites de la liste blanche sont autorisés) ;
- politique de filtrage web spécifique.
ExemplePlacer un professeur sur la liste des modérateurs pour la zone de filtre web 1
Il est parfois intéressant de voir un site interdit, qui, parfois, empêche l'accès à un contenu pédagogique. En définissant un professeur comme modérateur, on lui permet d'outrepasser l'interdiction de navigation et, le cas échéant, le placer sur la liste des sites autorisés.
Dans Filtre web 1
/ Utilisateurs
:
- entrer le nom de l'utilisateur ;
- valider ;
- choisir
Modérateur
dans la liste.

Ces informations sont stockées dans :
/var/lib/blacklists/dansguardian<num_instance>/common/filtergroupslist
Sur AmonEcole, ces fichiers sont dans le conteneur reseau
.
Remarque
Si le menu Utilisateurs
n'apparaît pas, c'est que la zone n'est pas authentifiée.
Attention
Le mode modérateur n'est pas compatible avec l'authentification NTLM : #19351.
ComplémentCorrespondance entre numéro de politique et mode de fonctionnement
Pour chaque instance de e2guardian, 8 politiques sont pré-définies par les fichiers guardianfX.conf
:
- politique n°1 : politique par défaut (
politiquedefaut
) ; - politique n°2 : utilisateur modérateur (
groupmoderateurs
) ; - politique n°3 : utilisateur interdit (
groupinterdits
) ; - politique n°4 : utilisateur en mode liste blanche (
grouplisteblanche
) ; - politique n°5 : politique de filtrage personnalisée n°1 (
politique1
) ; - politique n°6 : politique de filtrage personnalisée n°2 (
politique2
) ; - politique n°7 : politique de filtrage personnalisée n°3 (
politique3
) ; - politique n°8 : politique de filtrage personnalisée n°4 (
politique4
).
Outil d'analyse de logs LightSquid
Configuration
LightSquid se paramètre dans l'interface de configuration du module, dans l'onglet expert Squid
. Pour activer la génération automatique des statistiques (toutes les nuits) il faut passer la variable Générer les statistiques Squid automatiquement
à oui
. Le port par défaut est 8062.
La génération des statistiques proxy peut se faire manuellement, en exécutant la commande squid_parselogs.sh.
La méthode d'anonymisation des statistiques générées est également paramétrable :
aucune
: aucune anonymisation ;par IP
: n'affiche que les adresses IP ;anonyme
: entièrement anonyme (remplace par un tiret).
Attention
Suite à un incident, les statistiques sont celles de la veille, il faut penser à forcer la génération manuellement.
Remarque
Techniquement, LightSquid fonctionne en mode cgi sur un port local (8062 par défaut).
Cela entraîne certaines limitations :
- la ré-authentification nécessaire en mode "pam" ;
- l'accès aux statistiques est impossible depuis un frontend EAD distant.
Consultation
La consultation des statistiques LightSquid se fait au travers de l'EAD, dans le menu Outils
/ Statistiques proxy
.

Pour afficher les statistiques il faut cliquer sur le lien Accéder aux statistiques
. La navigation se fait dans une nouvelle fenêtre qui demande une authentification. Par défaut, ces statistiques ne sont accessibles que pour le rôle admin
, un clic sur le bouton Connexion
sans mot de passe permet de passer à la demande d'authentification pour le compte root
.
Une fois connecté la vue initiale propose de naviguer dans les statistiques par date (année, jour, mois), par groupe, par quota dépassé.
Dans la vue journalière, si la méthode d'anonymisation choisie est par IP, LightSquid n'affiche que les adresses IP utilisées lors de la navigation. Il affiche également le nombre de connexions et le nombre d'octets utilisés. Il est possible d'afficher un rapport sur le top des sites visités et le top des gros fichiers téléchargés dans la journée. Il est possible de repasser à des statistiques journalières par IP.

Dans la vue des statistiques journalières par IP, toutes les adresses visitées par l'utilisateur s'affichent avec le nombre de connexions et les octets consommés.

Dans la vue par mois, un clic sur la consommation total des Octets donne un classement de la consommation d'octets par adresse IP. Dans le tableau affiché, un graphe mensuel de la consommation d'octets par adresse IP est disponible.
Visites des sites : Observatoire des navigations
L'observatoire des navigations est un outil de consultation des logs de l'outil de filtrage e2guardian[32].
Configuration
L'accès à cet outil se paramètre dans l'interface de configuration du module, dans l'onglet expert : Filtrage web
.
La question Autoriser la consultation des logs liés au filtrage web dans l'EAD
propose plusieurs options :
oui
: accès autorisé pour les utilisateurs EAD possédant les actionsnavigation_visit_admin
et/ounavigation_visit_pedago
;non
: accès interdit pour tout le monde, personne ne voit le lienVisites des sites
(configuration par défaut) ;admin seulement
: accès autorisé uniquement pour le rôleadmin
.
Consultation
Fonctionnalités de l'EAD3 sur le module AmonEcole
Fonctionnalités de l'EAD3 communes à tous les modules
Action de stockage de fichiers pour les actions EAD3
Gérer les fichiers

Cette action permet de téléverser des fichiers dans l'EAD3 dans le but d'être utilisés dans d'autres actions.
Elle permet également d'accéder à des fichiers créés par des actions lorsque ceux-ci sont trop lourds pour être affichés par l'action dédiée.
Téléverser des fichiers
Attention
Le téléversement d'un fichier portant le même nom écrase celui déjà présent sur le serveur.
Action de mise à jour
Action système
Quatre actions sont disponibles :
Services
Redémarrer
Reconfigurer
Éteindre
Services
L’action Services liste les services du système et permet de les redémarrer ou des les arrêter immédiatement.
Remarque
L’état actuel des services listés n’est pas affiché.
Redémarrer
L’action Redémarrer permet de programmer le redémarrage du serveur selon trois options de programmation :
immédiatement ;
la nuit suivante ;
à une date et une heure données.
L’option permettant de préciser une date et un horaire de redémarrage nécessite de renseigner l’heure sous forme heure et minute et la date.
Reconfigurer
L’action Reconfigurer permet de programmer le reconfigure du serveur selon trois options de programmation :
immédiatement ;
la nuit suivante ;
à une date et une heure données.
L’option permettant de préciser une date et un horaire de reconfigure nécessite de renseigner l’heure sous forme heure et minute et la date.
Éteindre
Action de tâches planifiées
Tâches planifiées cette nuit
ExempleExemple de tâches planifiées
Si un redémarrage du serveur a été programmé dans la nuit (action système -> redémarrage du serveur
), l'action s'affiche dans la liste des tâches planifiées dans la nuit.

Si l'on souhaite programmer l'arrêt du serveur, l'EAD ne nous autorise pas à planifier cette action. En effet celle-ci est incompatible avec celle du redémarrage du serveur.
Il faudrait supprimer l'action de redémarrage programmée dans la nuit, pour ensuite programmer à nouveau l'arrêt du serveur dans la nuit qui vient.
L'action de redémarrage apparaît dans la liste des actions effectuées la nuit.
Liste des tâches planifiables
Il est possible de planifier :
- l'exportation de l'annuaire LDAP ;
- le compactage de la base de données de bareos ;
- l'exportation des quotas et du SID samba ;
- la vérification de l'intégrité des caches samba ;
- la mise à jour automatique ;
- l'exportation des bases de données MySQL.
Il est possible de planifier une ou plusieurs de ces tâches, elles sont prises en compte au moment du clic sur le bouton PROGRAMMER
en bas de l'action :
Fonctionnalités de l'EAD3 propres au module Amon
Actions liées au fonctionnement du pare-feu
Le paquet era-actions
, pré-installé sur Amon et AmonEcole >= 2.8.1, apporte trois actions permettant d’activer/désactiver les règles optionnelles, de lister les règles de pare-feu activées et d'ajouter/supprimer des règles volatiles.
Action gestion des règles de pare-feu optionnelles
Les modèles de pare-feu ERA peuvent contenir des directives optionnelles EAD.
Une règle peut être :
générale, si elle concerne uniquement l’interface externe ;
spécifique à un filtrage, si elle concerne une interface interne de la zone, dans ce cas, elle apparaîtra dans le règles du filtre web auquel est rattaché l’interface source de la directive.
Pour modifier le statut d’une directive optionnelle :
activer ou désactiver une directive en cliquant sur le bouton correspondant de la seconde colonne,
valider les modifications en cliquant sur le bouton
APPLIQUER LES MODIFICATIONS
.
Écran
- 1
Onglets de zones
Les règles optionnelles sont attachées à une interface interne de la zone (onglets Filtre web) ou à l’interface externe (onglet générales).
La sélection s’effectue en cliquant sur l’onglet correspondant.
L’onglet générales est le seul à être obligatoirement présent. La présence des autres onglets dépend de la configuration des règles de filtrage du serveur.
- 2
- 3
- 4
Remarque
Les directives optionnelles activées ou désactivées dans l’EAD sont enregistrées dans le fichier /var/lib/eole/config/regles.csv
faisant le lien entre ERA et les directives optionnelles de l’EAD.
Attention
Pour les règles optionnelles, l’EAD prime sur ERA : elles sont pilotées par l’EAD. Une directive peut être marquée comment étant active par défaut dans ERA et ne pas être effectivement active car désactivée dans l’interface EAD.
Action liste des règles de pare-feu appliquées
Cette action permet de lister les règles iptables appliquées sur un serveur à un moment donné.
On retrouve les informations utiles suivantes :
l’index ;
le nom de la table (filter, NAT, …) ;
la cible (ACCEPT, …) ;
l’adresse source’
l’adresse de destination ;
le protocole (tcp, icmp, …) ;
le port de destination ;
le commentaire des directives ERA.
Écran
- 1
- 2
- 3
Action gestion de règles de pare-feu volatiles
Cette action permet de gérer des règles de pare-feu volatiles.
Une règle volatile est une règle qui est ajoutée temporairement sur un serveur. Cette règle a vocation à être supprimée rapidement.
La règle est supprimée de deux manières :
au rechargement des règles de pare-feu (reconfigure, mise à jour, redémarrage du serveur, lors de la configuration de politique de filtrage du proxy, etc.) ;
lorsque l’administrateur la supprime explicitement.
Une règle volatile est une règle qui comprend :
une IP ou un réseau source ;
une IP ou un réseau de destination ;
un port de destination ;
un protocole (TCP ou UDP).
L’action est composée d’une zone prévue pour l’ajout de nouvelles règles et une zone de visualisation des règles déjà appliquées.
Écran
- 1
- 2
Lorsque la règle est appliquée, elle apparaît dans la liste des règles volatiles :
Il est possible de filtrer les règles ou de redimensionner les colonnes comme pour l’action règles de pare-feu appliquées.
Pour supprimer la règle, il suffit de cliquer sur le bouton à la droite de la règle dans le tableau.
Fonctionnalités de l'EAD3 propres au module Scribe
Actions liées à la gestion du DHCP (si service activé)
Le groupe d’actions DHCP rassemble deux actions.
L'action de gestion du DHCP proposée par l'EAD3 vient en remplacement de celle proposée par l'EAD2.
Elle tire parti d’une réorganisation de la configuration permettant la déclaration explicite de plages d’IP réservées statiquement et donc un comportement plus prévisible que celui offert précédemment par l’EAD2.
Les deux actions sont par conséquent incompatibles et l’activation de l’action proposée par l’EAD3 doit être effectuée explicitement via l’autre action du groupe.
Action d'activation de l'action DHCP EAD3
Cette action permet d'activer la gestion DHCP dans l'EAD3.

Activation de la gestion du DHCP dans l'EAD3

Les actions de gestion DHCP EAD2 et EAD3 étant incompatibles, choisir oui
va :
désactiver l'action DHCP de l'EAD2 (l'action existe encore mais un message d'alerte prévient qu'il faut utiliser l'EAD3) ;
convertir les réservations DHCP EAD2 en réservations EAD3 ;
activer l'action DHCP de l'EAD3.
Attention
La conversion des réservations DHCP de l'EAD2 vers l'EAD3 va écraser les réservations éventuelles déjà existantes dans l'EAD3.
Avant de désactiver la gestion DHCP avec l'EAD3, il faut penser à exporter les réservations au format CSV à titre de sauvegarde.
Désactivation de la gestion du DHCP dans l'EAD3
Le choix non
va :
désactiver l'action DHCP de l'EAD3 (les réservations seront perdues, elles ne peuvent pas être converties vers l'EAD2) ;
activer l'action DHCP de l'EAD2.
L'action de gestion DHCP EAD3 est toujours présente mais un message informe qu'il faut d'abord l'activer.
Action de paramétrage du DHCP
Cette action permet de paramétrer une partie de la configuration du serveur DHCP[43] (en complément de la partie gérée dans l'interface de configuration du serveur).
Elle apparaît uniquement si le paquet eole-dhcp
est installé et si Activer le serveur DHCP
est à oui
dans la famille Services
de l'interface de configuration du module.

L'action présente sous forme d'onglets : les baux en cours, les réservations d'adresse IP et les sous-réseaux déclarés dans l'interface de configuration du serveur.
Un quatrième onglet est dédié à l'importation de réservations.
Visualisation des baux DHCP en cours
Ce tableau montre les baux des machines ayant effectué une requête DHCP avec leur nom d'hôte, l'adresse IP attribuée et l'adresse MAC ainsi que la date d'expiration du bail DHCP.
Grâce au bouton Réserver
, il est possible d'utiliser l'adresse MAC d'une machine connectée pour créer une nouvelle réservation. Il faudra alors modifier l'adresse IP en saisissant soit une adresse IP hors plage dynamique soit une plage DHCP nommée (paramètre Nom de la plage DHCP
dans l'interface de configuration du module).
Réservation d'IP
Pour que le serveur DHCP attribue toujours la même adresse IP à un poste, il faut lui réserver son adresse. Pour cela, il convient de fournir obligatoirement le nom de la machine et son adresse MAC. Une adresse IP doit également être fournie si la réservation doit être effectuée hors d’une plage à assignation statique. Dans le cas contraire, il est possible de seulement renseigner le nom de la plage à assignation statique, l’adresse IP étant attribuée automatiquement. Les adresses IP fixes définies pour les réservations doivent, dans tous les cas, appartenir à un réseau déclaré dans l'interface de configuration du module, mais elles doivent aussi être en dehors des plages d'adresses IP à assignation dynamique.
Avec le bouton Modifier
, chaque valeur d'une réservation peut être corrigée. Le bouton Libérer
permet de supprimer une réservation.
Un champ Filtre
permet de restreindre l'affichage des réservations.
Le bouton Exporter
donne la possibilité d'enregistrer les réservations dans un fichier CSV[29]. Si un filtre a été appliqué, seules les réservations affichées seront exportées.
L'ajout de réservation s'effectue dans le formulaire du bas :
Remarque
Des vérifications sont effectuées sur les valeurs saisies et peuvent provoquer des avertissements : validité des valeurs saisies, appartenance de l'adresse IP à un réseau DHCP déclaré, adresse déjà attribué ou dans une plage à assignation dynamique.
Affichage des sous réseaux
Cet onglet reprend les informations saisies dans l'interface de configuration du module concernant le DHCP.
On y retrouve, pour chaque sous-réseau déclaré, les différentes plages d'adresses IP avec leur nom et deux paramètres indiquant quelle type de réservation elles acceptent :
type de plage à dynamique | type de plage à statique | |
accès restreint à oui | association d’une machine à une plage dynamique par adresse MAC (pas d’adresse IP réservée ni garantie) | réservation de l’IP pour une adresse MAC donnée |
accès restreint à non | aucune réservation possible | réservation de l’IP pour une adresse MAC donnée |
un paramètre précisant si la réservation d'adresse y est autorisée ou non.
Truc & astuceParamètre Réservation d'adresse autorisée ?
Ce paramètre correspond à Interdire cette zone aux hôtes inconnus
dans l'interface de configuration du module, famille DHCP
en mode expert.
Importation des réservations en CSV
Le bouton Charger un fichier
permet d'importer des réservations à partir d'un fichier CSV[29]. Les réservations importées sont d’abord présentées dans un tableau. Ce tableau peut être vidé avec le bouton Réinitialiser
et chaque ligne peut être corrigée avec le bouton Modifier
. Le bouton Importer
rend effectives les réservations affichées dans le tableau.
Au moment d'importer, on peut choisir si les nouvelles réservations vont s'ajouter aux anciennes ou les écraser :
Ajout des nouvelles réservations aux anciennes | Suppression des anciennes réservations et ajout des nouvelles |
Format du fichier CSV
Le fichier CSV à importer doit comporter 4 colonnes séparées par le caractère ;
:
- nom de la machine ;
- adresse MAC ;
- adresse IP ;
- nom de la plage DHCP.
Une réservation ne peut contenir à la fois une adresse IP et un nom de plage DHCP que dans le cas précis où la plage ciblé est statique et l’adresse IP cohérente avec cette plage.
La seule valeur obligatoire est l'adresse MAC et elle doit être unique.
Exemple
pcprofs;02:00:0a:01:02:67;;salle-des-profs
pcinvite1;11:11:11:11:11:13;192.168.0.5;
pcinvite2;00:00:00:00:00:01;;
;00:00:00:00:00:01;192.168.10.10;
;22:22:22:22:22:22;;
Attribution automatique d'un nom de machine
Si, lors de l'importation, une réservation n'a pas de nom de machine, un préfixe doit être spécifié et sert de base pour nommer automatiquement la machine.
![]() | ![]() |
Attribution automatique d'une adresse IP ou d'une plage DHCP
Si, lors de l'importation, une réservation n'a pas d'adresse IP ou de plage DHCP, on doit préciser une plage d'adresse IP dans laquelle choisir automatiquement des adresses IP ou bien choisir un nom de plage DHCP.

Si la plage d'adresses IP renseignée contient des adresses IP déjà réservées ou des adresses appartenant à la plage dynamique, elles ne seront pas utilisées.
Configuration de la sauvegarde
Le support de sauvegarde
Une fois le stockage Bareos activé dans l’interface de configuration du module, il faut configurer le support de sauvegarde.
Trois types de support de sauvegarde sont proposés :
manuel ;
USB ;
SMB.
Le type « aucun » veut dire que le support de sauvegarde n’est pas configuré.
Le point de montage du support est, dans les trois cas de figure : /mnt/sauvegardes/
Manuel
Comme son nom l’indique, il permet à l’utilisateur de définir sa propre destination de sauvegarde via les outils Bareos. Ce choix correspond généralement à l’utilisation de lecteurs de bandes et s’intègre dans une stratégie de sauvegarde à plus grande échelle.
Le pilote est dépendant du matériel, le lecteur de bande doit être configuré manuellement.
Pour informations, le fichier template concerné bareossupport.conf
est dans /usr/share/eole/creole/distrib/
Pour que la solution soit pérenne, il est nécessaire de créer un patch EOLE.
Voir la documentation officielle de Bareos pour le paramétrage : http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-480004
Le point de montage par défaut est toujours /mnt/sauvegardes/
.
Attention
Le montage n'est pas contrôlé.
Le support doit être monté sur /mnt/sauvegardes/
et l’utilisateur bareos
doit avoir les droits en écriture :
# ls -l /mnt
# chown -R bareos :root /mnt/sauvegardes
USB
Attention
Cette méthode est purement locale à la machine, elle est donc sensible aux corruptions éventuelles du serveur.
SMB
La sauvegarde se fait à travers un partage SMB[44].
Il est préférable de déporter le serveur de stockage Bareos plutôt que d’utiliser le protocole SMB.
Ce type de sauvegarde sera utilisé, par exemple, pour les NAS[45].
Les informations suivantes sont demandées :
Nom de machine du serveur SMB (n’accepte pas les majuscules) ;
IP du serveur SMB ;
Nom du partage SMB ;
Identifiant SMB ;
Mot de passe SMB.
Le directeur
L’envoi de courriers électroniques est proposé si le directeur Bareos est activé sur le serveur.
EOLE offre la possibilité d’envoyer deux types de courriel :
les rapports d’erreurs de Bareos : informe que la sauvegarde s'est mal déroulée ;
les rapports de sauvegarde réussie : informe qu'une sauvegarde s'est bien déroulée.
Il est recommandé de définir les deux types d’envoi. Pensez à configurer correctement votre relais SMTP[46].
Sauvegarde des fichiers locaux
Une fois le support de sauvegarde défini, il est possible de programmer un type de sauvegarde par périodicité.
EOLE propose trois périodicités et trois types de sauvegarde pour la programmation des sauvegardes :
Périodicité | Type de sauvegarde |
sauvegardes mensuelles | totale |
sauvegardes hebdomadaires | totale, différentielle, incrémentale |
sauvegardes quotidiennes | totale, différentielle, incrémentale |
En plus des périodicités proposées, il est possible de lancer une sauvegarde immédiate de type totale, différentielle ou incrémentale.
Seules les sauvegardes totales sont possibles dans le cas de la périodicité mensuelle.
Les sauvegardes mensuelles se font la première semaine du mois.
Si une autre sauvegarde est programmée la même nuit, celle-ci sera automatiquement reportée à la semaine d'après.
Les sauvegardes se programment pour une nuit de la semaine. Une nuit va de 12h à 11h59.
Pour les sauvegardes quotidiennes, il est possible de choisir une plage de jours.
Programmer les clients distants
Lorsque la sauvegarde de fichiers distants est activée dans l’interface de configuration du serveur, il est possible de définir la fréquence de sauvegarde des fichiers dans l’action « Programmer les clients distants ».
Chaque serveur distant a un bloc de configuration qui lui est propre. Voici par exemple la configuration du serveur « test » :
Fichiers complémentaires
La liste des fichiers locaux sauvegardés par l’outil de sauvegarde d’EOLE est défini dans la configuration du serveur et dépend des services utilisés. Il peut être nécessaire d’ajouter des répertoires complémentaires en cas de création des données dans un répertoire non prévu.
L’action « fichiers complémentaires » permet d’ajouter des répertoires nouveaux à sauvegarder.
Il est possible de configurer des répertoires nouveaux à sauvegarder. Si nécessaire, il est possible d’exclure un sous-répertoire dont les données ne sont pas pertinentes. Enfin, il est possible d’exclure une liste de fichier de la sauvegarde en définissant une expression rationnelle.
Il est à noter que cette action permet de configurer aussi bien les fichiers locaux que distant.
Exécuter une sauvegarde ponctuelle
L’exécution d’une sauvegarde ne peut être réalisée que lorsque l’espace de stockage de la sauvegarde est correctement configuré. La configuration de l’espace de stockage s'effectue dans l’action « Configuration de la sauvegarde ».
Cette action permet de sauvegarder les données d’un serveur. Si la sauvegarde des fichiers locaux et la sauvegarde de fichiers distant sont activées dans la configuration du serveur, il est nécessaire de choisir entre une sauvegarde local ou distante.
En cas de sauvegarde distante, la sélection du serveur distant est obligatoire.
La sauvegarde est, par défaut, exécutée immédiatement. Il est néanmoins possible de sélectionner une date et une heure différente.
Action de gestion des Clients
Il est possible d'accepter et de gérer les clés des clients EOLE au travers de l'interface d'administration EAD3.

L'action Gestion des clés clients
est disponible dans la catégorie Clients
.
Écran
L'action présente les clients sous la forme d'un tableau.
- les clés non acceptées peuvent être acceptées, rejetées ou supprimées ;
- les clés acceptées peuvent être supprimées ou renommées
Attention
Pour l'instant, l'action Renommer
modifie uniquement le nom de la clé du client mais pas celui du poste.
Écran
À partir d'EOLE 2.8.1, la suppression des clés propose deux choix :
OUI
entraîne la suppression complète du client, c'est-à-dire partie Salt et partie AD, ce qui inclut la disparition du client de son compte machine de AD.NON
effectue la suppression du client uniquementdans Salt, le compte machine est toujours dans le domaine.
Action de classification des utilisateurs et des ordinateurs dans AD
À partir d'EOLE 2.8.1, si la création automatique d'une arborescence d'UO
a été activée dans l'interface de configuration du module, il est possible de lancer l'exécution du script de classification des objets dans l'AD directement depuis l'EAD3.

L'action Classer les nouveaux utilisateurs et ordinateurs par OU
est disponible dans la catégorie Gestion AD
.
L'action propose tout simplement d'exécuter le traitement en cliquant sur le bouton.

La fin du traitement est indiquée par une fenêtre qui s'affiche en bas à gauche de l'écran.

Les clients Windows
Suite passage du mode Samba NT[47] au mode Active Directory[48], les anciens outils tels que JoinEOLE et le client Scribe ne sont plus fonctionnels.
À partir d'EOLE 2.7.1, la gestion des postes clients est basée sur de nouveaux outils tels que SaltStack[19], Veyon[49] et les GPO[50].
Le projet regroupant tous ces outils est appelé : eole-workstation
AttentionMises à jour et sécurité
Les mises à jour n'apportent pas seulement de nouvelles fonctionnalités, elles corrigent aussi des failles de sécurité.
Il est donc important que les clients soient aussi à jour.
Cela concerne aussi bien le système d'exploitation (Windows Update) que les programmes installés (Firefox, Java, etc .).
Des vulnérabilités peuvent, en effet, toucher n'importe quel programme.
Ne pas appliquer les mises à jour rendrait votre système vulnérable aux attaques.
Rappelons à ce sujet que, statistiquement, la majorité des attaques proviennent de l'intérieur et non de l'extérieur.
Configuration réseau
Avant l'intégration au domaine, il est indispensable de s'assurer que les paramètres réseau de la station soient corrects (adresse IP, passerelle, DNS, nom de domaine, ...).
Plusieurs cas sont possibles :
la station obtient son adresse IP du serveur DHCP du serveur EOLE, dans ce cas il n'y a rien à faire ;
la station obtient son adresse IP d'un serveur DHCP autre que le serveur EOLE, il faut vérifier l'adresse IP du DNS et le nom de domaine par défaut ;
la station est adressée manuellement, il faut vérifier l'adresse IP du DNS et le nom de domaine par défaut.
Truc & astuceDésactivation du protocole NetBIOS
Pour accéder à la configuration du serveur WINS il faut aller dans Panneau de configuration
, Connexions réseau
, faire un clic droit sur l'icône réseau local
et sélectionner propriétés
, puis double-cliquer sur Protocole Internet (TCP/IP)
, cliquer sur Avancé...
et enfin sélectionner l'onglet WINS
.

Intégration au domaine et installation du client EOLE sur les postes Windows
Pour l'intégration des clients Windows au domaine, deux stratégies sont possibles et le choix dépendra de vos habitudes de travail et des outils dont vous disposez :
intégration manuelle ;
intégration par le client EOLE.
Intégration au domaine
Intégration manuelle
Dans ce premier scénario, les postes clients doivent être intégrés au domaine Active Directory de façon standard.
Cette étape peut être automatisée à l'aide d'outils tels que FOG[53], OSCAR[54], Clonezilla[55], ...
Une fois la station intégrée au domaine, l'installation du client (Salt Minion) s'effectuera de façon automatisée par le GPO eole_script
.
AttentionRésolution DNS
Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt
soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.
Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.
AttentionProxy
L'accès à http://salt doit s'effectuer sans proxy.
Si un pare-feu est présent entre le serveur et les clients, il faut s'assurer que celui-ci est configuré correctement.
Dans le cas d'un serveur Amon, il est possible de déclarer des exceptions en utilisant les variables : proxy_bypass_domain_ethX
.
Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur afin qu'il soit pleinement fonctionnel.
Intégration par le client EOLE
Dans ce second scénario, il faut installer le client (Salt Minion) sur tous les postes :
depuis le poste client connecté en tant qu'administrateur de la machine
ouvrir un navigateur internet
télécharger l'installeur du client
installMinion.exe
via HTTP[10] en naviguant vers l'adresse suivante : http://salt/joineoleexécuter le script d'installation
installMinion.exe
(nécessite des droits d'administration)
AttentionRésolution DNS
Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt
soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.
Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.
Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur.
Dès que sa clé est acceptée, il s'occupe de joindre automatiquement la station au domaine Active Directory lors du premier re-démarrage du poste client.
Acceptation et gestion des clés
Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur afin qu'il soit pleinement fonctionnel.
Gestion des clés dans l'EAD3
Il est possible d'accepter et de gérer les clés des clients EOLE au travers de l'interface d'administration EAD3.

L'action Gestion des clés clients
est disponible dans la catégorie Clients
.
Écran
L'action présente les clients sous la forme d'un tableau.
- les clés non acceptées peuvent être acceptées, rejetées ou supprimées ;
- les clés acceptées peuvent être supprimées ou renommées
Attention
Pour l'instant, l'action Renommer
modifie uniquement le nom de la clé du client mais pas celui du poste.
Écran
À partir d'EOLE 2.8.1, la suppression des clés propose deux choix :
OUI
entraîne la suppression complète du client, c'est-à-dire partie Salt et partie AD, ce qui inclut la disparition du client de son compte machine de AD.NON
effectue la suppression du client uniquementdans Salt, le compte machine est toujours dans le domaine.
Gestion des clés en ligne de commande
Dans une console sur le serveur exécuter la commande :
# enregistrement_client
Attendre l'arrivée d'un message indiquant les client en attente d'ajout :

Il y a quatre couleurs concernant quatre état possible sur les clés :
Vert : clés acceptées
Violet : clés refusées
Rouge : clés en attentes
Bleu : clés rejetés
Lorsque la clés du client s'affiche dans Unaccepted keys
, il est possible de l'ajouter avec la commande # enregistrement_client -A
Une confirmation sera demandé pour chaque clés en attentes d'acceptation, répondre Y, pour accepter les clés souhaités
Il est également possible d'accepter les clés directement depuis le conteneur addc.
Pour ce faire, vous devez ouvrir une session (ssh ou console) avec la commande # ssh addc
Vous pouvez alors lancer les commandes salt :
Pour attendre l’arrivée des clés :
eole@scribe:~$ salt-run state.event pretty=True
- Pour afficher les clés déjà traitées ou en attentes :
root@addc:~# salt-key
- Pour accepter toutes les clés :
root@addc:~# salt-key -A
Jonction d'un poste Windows au domaine Active Directory
AttentionServeur DNS
Il est indispensable que les postes clients aient l'adresse IP d'au moins un des contrôleur de domaine comme serveur DNS.
Ceci peut-être paramétré soit sur le serveur DHCP dans le cas d'attribution automatique d'adresses IP aux postes clients, soit manuellement dans les paramètres de l'adaptateur réseau :

Jonction au domaine
Ajouter la station au domaine de la façon suivante :
Menu
Windows
et sélectionnerParamètres
;Cliquer sur
Comptes
;Cliquer sur
Accès Professionnel ou Scolaire
dans le menu de gauche ;Cliquer sur
Connecter
;Cliquer sur
Joindre cet appareil à un domaine Active Directory local
;Saisir le nom du domaine et cliquer sur
Suivant
;Saisir le nom du compte administrateur du domaine ainsi que la clé secrète ("mot de passe") associée au compte et cliquer sur le bouton
OK
;Il ne faut pas tenir compte de la proposition d'ajout de compte, cliquer sur le bouton
Ignorer
et accepter de redémarrer ;Cliquer sur
Autre utilisateur
et saisir le nomDuDomaine\pnom ainsi que la clé secrète ("mot de passe") pour démarrer la session.
Gestion d'Active Directory avec les outils RSAT
- Installation
- Installation des RSAT en ligne de commande
- Installation des RSAT en PowerShell
- Exécution et paramétrage des outils
- Édition des propriétés d'un utilisateur
- Création d'une unité organisationnelle (OU)
- Ajout d'un utilisateur à l'unité organisationnelle
- Création et affectation de la GPO
- Débogage des GPO sous Windows
Installation
Installation des RSAT en ligne de commande
Il est également possible d'installer les RSAT en ligne de commande avec les commandes :
dism /online /add-capability /capabilityname:Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0
dism /online /add-capability /capabilityname:Rsat.Dns.Tools~~~~0.0.1.0
dism /online /add-capability /capabilityname:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0
Installation des RSAT en PowerShell
En PowerShell, on peut lister les composants RSAT disponibles avec la commande :
Get-WindowsCapability -Name Rsat.* -Online
On peut filtrer sur les composants déjà installés :
Get-WindowsCapability -Name Rsat.* -Online | Where-Object { $_.State -eq ‘Installed' }
Et l'installation peut se faire comme suit :
Add-WindowsCapability -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 -Online
Add-WindowsCapability -Name Rsat.Dns.Tools~~~~0.0.1.0 -Online
Add-WindowsCapability -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0 -Online
Exécution et paramétrage des outils
Les RSAT s'utilisent, soit séparément en les appelant depuis Panneau de configuration
→ Outils d'administration
, soit en les regroupant dans une console MMC[57] personnalisée. Pour exécuter la commande mmc
faire un clic droit sur le menu Windows et taper la commande à exécuter.

Une fois la console MMC lancée, sélectionner les principaux composants :
DNS
;Gestion des stratégies de groupes
;Sites et services Active Directory
;Utilisateurs et ordinateurs Active Directory
.


Une fois les composants ajoutés dans la console, lorsqu'on clique pour la première fois sur DNS
, il faut indiquer sur quel serveur on souhaite administrer le DNS.
Enfin, on peut activer les fonctionnalités avancées de la console pour avoir accès à davantage de détails et de paramétrages possibles.
Édition des propriétés d'un utilisateur
Création d'une unité organisationnelle (OU)
Ajout d'un utilisateur à l'unité organisationnelle
Création et affectation de la GPO
Créer un nouvel objet GPO.

Donner un nom au nouvel objet GPO.

Débogage des GPO sous Windows
Lister les GPO appliquées
Pour commencer, il est recommandé d'actualiser les paramètres de stratégies de groupes du client, dans l'invite de commandes
, saisir :
gpupdate
La commande suivante permet d'obtenir la liste des GPO appliqués pour l'utilisateur connecté :
gpresult /SCOPE USER /V
Pour obtenir les GPO "machine", la commande (à exécuter en tant qu'administrateur) est :
gpresult /SCOPE COMPUTER /V
Exécution de code PowerShell
Si le GPO nécessite des traitements complexes, il est probable qu'il exécutera un programme PowerShell[58].
L'application Windows PowerShell ISE
(exécutée en tant qu'administrateur) permet d'ouvrir et d’exécuter simplement des fichiers .ps1[59].
Gestion de l'Active Directory en ligne de commande
Bien qu'il existe quelques restrictions, la majorité des opérations de gestion peuvent être réalisées en ligne de commande sur les modules Scribe, AmonEcole et Seth configurés en tant que contrôleur de domaine.
Les opérations présentées sont réalisables sur le serveur que le contrôleur de domaine soit déclaré comme additionnel ou non.
Attention
La synchronisation des données entre les différents DC n'est pas instantanée et peut prendre jusqu'à trois minutes.
Modules en mode conteneur
Sur les modules Scribe et AmonEcole, le contrôleur de domaine est la machine conteneur nommée addc
.
Les commandes doivent être exécutées dans ce conteneur.
Pour entrer dans le conteneur addc
sur un serveur Scribe ou AmonEcole, exécuter la commande suivante :
ssh addc
Sur le module Seth, le contrôleur de domaine est installé sur le maître.
Gestion des groupes et des utilisateurs
Lister les groupes
samba-tool group list
Lister les utilisateurs
samba-tool user list
Créer un utilisateur
samba-tool user create titi "Mot:DeP455"
Modifier le mot de passe d'un utilisateur
samba-tool user setpassword titi
ou (noter le "\n" entre les deux mots de passe)
echo -e "MotDePasse?\nMotDePasse?" | smbpasswd -s titi
Inscrire un utilisateur à un groupe
samba-tool group addmembers "Domain Admins" titi
Consulter les attributs d'un utilisateur
pdbedit -Lv titi
Paramétrer le répertoire personnel, la lettre de montage et le profil d'un utilisateur
pdbedit -h '\\file.ac-test.fr\titi' -D 'U:' -p '\\file.ac-test.fr\profiles\titi' titi
Supprimer un utilisateur
samba-tool user delete titi
Jetons Kerberos et fichiers keytab
Les fichiers keytab, abréviation de « key table » (table des clés), sont des fichiers qui contiennent une clé de chiffrement pour un service ou un hôte.
Ils sont utiles pour réaliser des opération d'administration qui nécessite l'utilisation d'un compte avec pouvoirs sans avoir à en saisir le mot de passe.
L'article suivant (en anglais) explique plutôt bien ce qu'est un keytab : https://social.technet.microsoft.com/wiki/contents/articles/36470.kerberos-keytabs-explained.aspx
Compte machine
Un keytab du compte machine du serveur est automatiquement généré dans le fichier /var/lib/samba/eole-ad-dc.keytab
.
Il est ainsi possible d'utiliser ce fichier dans des scripts, pour ajouter des entrées DNS, par exemple :
# initialisation d'un jeton Kerberos à l'aide du fichier keytab
kinit ADDC@AC-TEST.FR -k -t /var/lib/samba/eole-ad-dc.keytab
# ajout d'une entrée DNS locale
samba-tool dns add dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
# vérification de la résolution d'un nom par le DNS local
dig @localhost mac10.ac-test.fr +short
# suppression d'une entrée DNS locale
samba-tool dns delete dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
# destruction du jeton Kerberos
kdestroy
Truc & astuce
Compte utilisateur
De la même façon, il est possible de créer un fichier keytab pour des comptes utilisateur tels que admin
ou Administrator
:
root@dc1:~# samba-tool domain exportkeytab ~/administrator.keytab --principal=Administrator@AC-TEST.FR
Export one principal to admin.keytab
root@dc1:~# kinit Administrator@AC-TEST.FR -k -t ~/administrator.keytab
root@dc1:~# kdestroy
root@dc1:~# rm -f ~/administrator.keytab
Gestion des sites
Sur le contrôleur de domaine principal, la déclaration d'un site s'effectue facilement grâce à la fonction bash samba_update_site
:
. /usr/lib/eole/samba4.sh
samba_update_site monsite 10.1.1.0/24
Recherche avancée
La commande ldbsearch
permet d'effectuer des recherches dans l'annuaire Active Directory :
Initialisation de la variable LDB_URL, utilisée par la commande ldbsearch.
export LDB_URL=/var/lib/samba/private/sam.ldb
Rechercher les utilisateurs
ldbsearch -S '(objectclass=user)' cn
Afficher l'entrée d'un utilisateur
ldbsearch cn=admin
Afficher l'entrée correspondant au groupe
Administrators
ldbsearch '(&(objectclass=group)(cn=Administrators))' --cross-ncs
Afficher les entrées correspondant aux contrôleurs de domaine
ldbsearch '(invocationId=*)' --cross-ncs objectguid
Truc & astuce
ExempleAjouter une OU (Unité Organisationnelle) :
Générer le fichier ajouterOU.ldif :
dn: OU=etablissement1,DC=ac-test,DC=fr
changetype: add
objectClass: top
objectClass: organizationalunit
Ajouter la modification dans l'annuaire :
ldbadd ajouterOU.ldif
La GPO « eole_script »
Le paquet eole-gpo-script
pour le module Seth ou eolead-gpo-script
pour les modules Scribe et AmonEcole met en place un GPO[50] permettant notamment de déclarer simplement des scripts personnalisés à exécuter lorsqu'un utilisateur ouvre une session sur un poste Windows (logon.exe
).
Il permet également le déploiement automatisé du nouveau client EOLE (SaltMinion[19]).
L'outil ré-utilise les mêmes concepts que l'exécution des scripts personnalisés par l'ancien client Scribe NT.
Truc & astuce
Emplacement des fichiers
Les commandes doivent être renseignées dans des fichiers texte se trouvant dans l'un des sous-répertoire du dossier scripts
situé dans le répertoire SYSVOL[62] du contrôleur de domaine Active Directory.
Sur un module Scribe en mode AD, ces fichiers sont situés dans le conteneur addc
.
Le répertoire des scripts est accessible par :
le chemin Unix depuis le serveur Scribe :
/var/lib/lxc/addc/rootfs/home/sysvol/<REALM>/scripts/
1root@scribe:~# tree /var/lib/lxc/addc/rootfs/home/sysvol/dompedago.etb1.lan/scripts/
2/var/lib/lxc/addc/rootfs/home/sysvol/dompedago.etb1.lan/scripts/
3├── groups
4│ └── professeurs.txt
5├── machines
6├── os
7│ └── Vista.txt
8└── users
9104 directories, 2 files
le chemin Unix à l'intérieur du conteneur
addc
:/home/sysvol/<REALM>/scripts/
1root@scribe:~# ssh addc "ls /home/sysvol/dompedago.etb1.lan/scripts/"
2groups
3machines
4os
5users
Truc & astuce
Le début du chemin UNC \\REALM
pourra être remplacé par :
\\<NOM_COURT>
: le nom court étant la première partie du REALM.\\addc
: puisqueaddc
est le nom du serveur hébergeant le contrôleur sur un module Scribe en mode AD.
Arborescence des fichiers
Les scripts peuvent être ajoutés pour :
un utilisateur →
../scripts/users/admin.txt
;un groupe →
../scripts/groups/eleves.txt
;une machine →
../scripts/machines/poste01.txt
;un OS (Win95, Win2K, WinXP, Samba, Vista) →
../scripts/os/Vista.txt
;
Attention
Windows 7, 10 et 11 sont traités de la même manière que Windows Vista (OS=Vista).
Les noms de machines doivent être écrits en minuscules.
Scripts personnalisés pour exécuter des commandes
Pour exécuter des commandes il faut utiliser l'instruction cmd
.
Par défaut, le programme d'ouverture de session affiche le programme et attend la fin de son exécution pour continuer. Un programme qui ne se ferme pas (ex. notepad.exe
) provoquera des ouvertures de session très longue et incomplètes.
l'option
NOWAIT
permet de ne pas attendre la fin de l'exécution du programme ;l'option
HIDDEN
permet de masquer la fenêtre.
Le format est :
cmd,commande,[options]
Exemple
Exécuter notepad.exe
pour l'utilisateur toto lorsqu'il ouvre une session :
Fichier \\<REALM>\netlogon\scripts\users\toto.txt :
cmd,%WINDIR%\notepad.exe,NOWAIT
Truc & astuce
Les scripts personnalisés sont concaténés dans le script principal, par défaut au début de celui-ci. Si des instructions doivent être effectuée après (nécessité d'avoir accès au lecteur commun
par exemple), placez la balise %%NetUse%% et ajoutez les instructions ensuite.
Scripts personnalisés pour monter des lecteurs
Pour monter des lecteurs il faut utiliser l'instruction lecteur
.
Le format est :
lecteur,lettre:,partage
Exemple
Monter le partage \\monserveur\partage sur la lettre V: pour tous les utilisateurs du domaine :
Fichier \\<REALM>\netlogon\scripts\groups\DomainUsers.txt :
lecteur,V:,\\monserveur\partage
Complément
Une clé de registre a été ajouté dans le GPO afin que le montage des lecteurs soit disponible pour les comptes possédant une élévation de pouvoir (ex : admin
).
Résolution de problèmes
Les actions d'exécution de script personnalisés et de montage de lecteurs réseaux sont journalisées dans le fichier %TMP%\eole_script.log
.
Les GPO additionnelles EOLE
Le paquet eole-ad-dc-gpos
sur Seth et le paquet eole-scribe-gpos
sur Scribe permet d'activer des GPO pré-paramétrées et de les associer à des unités organisationnelles[64].
GPO Proxy
La GPO "Proxy" permet de paramétrer le proxy sur les postes clients depuis le serveur via gen_config
.
Il existe 4 modes :
Connexion directe (aucun proxy)
Détection automatique des paramètres proxy (fonctionnement avec le protocole WPAD[65])
Utilisation d'un script de configuration (une URL vers un fichier .PAC[66])
Manuel (proxy et exceptions paramétrées manuellement)
La GPO Proxy paramètre :
Windows (Edge et Internet Explorer)
WinHTTP (pour Windows Update entre autre)
Firefox
Google Chrome
Lorsque la GPO Proxy est activée, elle est automatiquement liée à la racine de l'Active Directory afin que l'ensemble des postes clients soient configurés.
Si la configuration est modifiée sur le serveur dans gen_config, la GPO Proxy ne sera pas mise à jour avec un reconfigure. Il faudra d'abord supprimer la GPO Proxy existante dans l'Active Directory avec d'effectuer un reconfigure ; soit depuis un poste client avec les RSAT, soit depuis le serveur avec samba-tool.
Vue dans gen_config de la fonctionnalité :
Autres GPO
Les GPO pré-paramétrées disponibles sont :
- eole_affichage_bginfo
Permet d'afficher des informations sur le fond d'écran du Bureau des postes clients Windows

- eole_install_minion
Installe le client Salt.
- eole_nextcloud_install_on_boot
Installe le client NextCloud au démarrage de la machine via WinGet.
- eole_parefeu_active
Active le parefeu Windows tel qu'il est par défaut après une installation Windows standard.
- eole_parefeu_desactive
Désactive le parefeu Windows.
- eole_redirection_bureau_personnel
Redirige le contenu du Bureau des utilisateurs vers \\<serveur>\<utilisateur>\perso\Bureau
(crée le dossier si inexistant)
- eole_redirection_dossiers
Redirige les dossiers Vidéos, Musique, Images, Documents, Favoris, Téléchargements vers des sous-dossiers du même nom dans le dossiers personnel de l'utilisateur \\<serveur>\<utilisateur>\perso\
<nom_dossier>
- eole_remove_onedrive
Désinstalle et enlève toute trace de OneDrive©
- eole_uac_desactivee
Désactive l'UAC (User Access Control)
- eole_uac_normale
(Ré-)active l'UAC (User Access Control)
- eole_install_minion
Installe le client Salt Minion
- eole_configuration_environnement
Configure l'environnement de l'utilisateur (voir ci-dessous l'ensemble des paramètres)
- eole_configuration_machine
Configure les paramètres machine
- eole_restrictions_eleves
Active des restrictions (voir ci-dessous l'ensemble des paramètres)
- eole_levee_restrictions_eleves
Désactive les restrictions de la GPO "eole_restrictions_eleves"
- eole_professeurs_administrateurs_dans_ses_salles
Permet aux membres du groupe "professeurs" d'être administrateurs locaux sur les postes.
eole_configuration_environnement
- Configuration ordinateur (activée)
↳ Stratégie
↳ → Modèles d'administration
↳ → → Système/Stratégie de groupe
Stratégie | Paramètre |
---|---|
Configurer le mode de traitement par bouclage de la stratégie de groupe utilisateur | Activé (Mode : Fusionner) |
- Configuration utilisateur (activée)
↳ Stratégies
↳ → Modèles d'administration
↳ → → Bureau
Stratégie | Paramètre |
---|---|
Cacher l’icône Emplacements réseau sur le Bureau | Activé |
Empêcher l'utilisateur de rediriger manuellement des dossiers de profils | Activé |
Supprimer l'Assistant Nettoyage du Bureau | Activé |
Supprimer l'icône de la Corbeille du Bureau | Désactivé |
Supprimer l'icône Mes documents du Bureau | Désactivé |
Supprimer les propriétés du menu contextuel de la Corbeille | Activé |
Supprimer Poste de travail du Bureau | Désactivé |
Supprimer Propriétés du menu contextuel de l'icône Mes documents | Activé |
↳ → → Composants Windows/Explorateur de fichiers
Stratégie | Paramètre |
---|---|
Ne pas afficher « Ordinateurs proches » dans les emplacements réseau | Activé |
Ne pas afficher « Tout le réseau » dans les emplacements réseau | Activé |
Supprimer l'onglet Sécurité | Activé |
↳ → → Composants Windows/Internet Explorer/Panneau de configuration Internet/Onglet Sécurité/Zone Sites approuvés
Stratégie | Paramètre |
---|---|
Afficher un avertissement de sécurité pour les fichiers potentiellement dangereux | Activé |
↳ → → Composants Windows/Internet Explorer/Panneau de configuration Internet/Onglet Sécurité/Zone Sites de confiance verrouillée
Stratégie | Paramètre |
---|---|
Afficher un avertissement de sécurité pour les fichiers potentiellement dangereux | Activé |
↳ → → Composants Windows/Options d’ouverture de session Windows
Stratégie | Paramètre |
---|---|
Indiquer les indisponibilités du serveur d'accès à l'ouverture de session utilisateur | Activé |
↳ → → Composants Windows/Windows Messenger
Stratégie | Paramètre |
---|---|
Ne pas démarrer initialement Windows Messenger de manière automatique | Activé |
↳ → → Menu Démarrer et barre des tâches
Stratégie | Paramètre |
---|---|
Effacer l'historique des notifications par vignette lors de la connexion | Activé |
Ne pas afficher ni suivre les éléments des listes de raccourcis à partir d'emplacements distants | Activé |
Supprimer l'icône Réseau du menu Démarrer | Activé |
Supprimer l'icône Sécurité et maintenance | Activé |
Supprimer la barre Contacts de la barre des tâches | Activé |
Supprimer le lien Groupe résidentiel du menu Démarrer | Activé |
Supprimer le lien Jeux du menu Démarrer | Activé |
Supprimer le lien TV enregistrée du menu Démarrer Activé | Activé |
↳ Préférences
↳ → Paramètres du Panneau de configuration
↳ → → Options des dossiers
↳ → → → Options des dossiers (au minimum Windows Vista)
↳ → → → → Options des dossiers (au minimum Windows Vista) (ordre : 1)
↳ → → → → → Général
↳ → → → → → → Propriétés
Toujours afficher des icônes, jamais des miniatures | Désactivé |
Toujours afficher les menus | Désactivé |
Afficher l'icône des fichiers sur les miniatures | Activé |
Afficher les informations concernant la taille des fichiers dans les info-bulles du dossier | Activé |
Afficher une vue simple des dossiers dans le volet de navigation | Activé |
Afficher le chemin complet dans la barre de titre (vue Classique uniquement) | Désactivé |
Fichiers et dossiers masqués | Ne pas afficher les fichiers et dossiers cachés |
Masquer les extensions des fichiers dont le type est connu | Désactivé |
Masquer les fichiers protégés du système d'exploitation (recommandé) | Activé |
Ouvrir les fenêtres des dossiers dans un processus différent | Activé |
Mémoriser les paramètres d'affichage de chaque dossier | Activé |
Restaurer les fenêtres de dossiers ouvertes lors de la prochaine ouverture de session | Désactivé |
Afficher les lettres de lecteur | Activé |
Afficher les dossiers et les fichiers NTFS chiffrés ou compressés en couleur | Activé |
Afficher la légende des dossiers et des éléments du Bureau | Activé |
Afficher les gestionnaires d'aperçu dans le volet de visualisation | Activé |
Utiliser des cases à cocher pour sélectionner des éléments | Désactivé |
Utiliser l'Assistant Partage (recommandé) | Désactivé |
Lors de la saisie en mode d'affichage Liste | Sélectionner l'élément affiché correspondant au texte saisi |
↳ → → → → → Commun
↳ → → → → → → Options
Interrompre le traitement des éléments sur cette extension si une erreur se produit sur cet élément | Non |
Exécuter dans le contexte de sécurité de l'utilisateur connecté (option de la stratégie utilisateur) | Oui |
Appliquer une fois et ne pas réappliquer | Non |
↳ → → Menu Démarrer
↳ → → → Menu Démarrer (au minimum Windows Vista)
↳ → → → → Menu Démarrer (au minimum Windows Vista) (ordre : 1)
↳ → → → → → Général
↳ → → → → → → Général
Nombre de programmes dans le menu Démarrer | 9 |
↳ → → → → → → Paramètres avancés
Ordinateur | Afficher en tant que lien |
Connexion | Oui |
Panneau de configuration | Afficher en tant que lien |
Programmes par défaut | Afficher cet élément |
Documents | Afficher en tant que lien |
Activer les menus contextuels et le glisser-déplacer | Oui |
Favoris | Ne pas afficher cet élément |
Jeux | Ne pas afficher cet élément |
Aide | Afficher cet élément |
Afficher les programmes nouvellement installés en surbrillance | Oui |
Musique | Afficher en tant que lien |
Réseau | Ne pas afficher cet élément |
Ouvrir les sous-menus lorsque la souris pointe sur ceux-ci | Oui |
Dossier personnel | Afficher en tant que lien |
Images | Afficher en tant que lien |
Imprimantes | Afficher cet élément |
Commande Exécuter | Afficher cet élément |
Rechercher | Oui |
Rechercher les communications | Non |
Rechercher les Favoris et l'Historique | Non |
Rechercher les fichiers | Rechercher les fichiers de cet utilisateur |
Rechercher les programmes | Oui |
Trier le menu Tous les programmes par nom | Oui |
Outils d'administration système | Ne pas afficher cet élément |
Utiliser de grandes icônes | Oui |
Afficher les documents utilisés récemment | Oui |
Effacer les documents récents | Non |
↳ → → → → → Commun
↳ → → → → → → Options
Interrompre le traitement des éléments sur cette extension si une erreur se produit sur cet élément | Non |
Exécuter dans le contexte de sécurité de l'utilisateur connecté (option de la stratégie utilisateur) | Oui |
Appliquer une fois et ne pas réappliquer | Non |
.
eole_restrictions_eleves
- Configuration ordinateur (activée)
↳ Stratégie
↳ → Modèles d'administration
↳ → → Système/Stratégie de groupe
Stratégie | Paramètre |
---|---|
Configurer le mode de traitement par bouclage de la stratégie de groupe utilisateur | Activé (Mode : Fusionner) |
- Configuration utilisateur (activée)
↳ Stratégies
↳ → Modèles d'administration
↳ → → Bureau
Stratégie | Paramètre |
---|---|
Supprimer Propriétés du menu contextuel de l'icône Poste de travail | Activé |
↳ → → Composants Windows/Explorateur de fichiers
Stratégie | Paramètre |
---|---|
Dans Poste de travail, masquer ces lecteurs spécifiés | Activé (Restreindre au lecteur "C" uniquement) |
Empêcher l'accès aux lecteurs à partir du Poste de travail | Activé (Restreindre au lecteur "C" uniquement) |
Masque l'élément Gérer du menu contextuel de l'Explorateur de fichiers. | Activé |
Supprimer l'onglet DFS | Activé |
Supprimer l'onglet Matériel | Activé |
Supprimer les options « Connecter un lecteur réseau » et « Déconnecter un lecteur réseau » | Activé |
↳ → → Menu Démarrer et barre des tâches
Stratégie | Paramètre |
---|---|
Supprimer le menu Exécuter du menu Démarrer | Activé |
↳ → → Panneau de configuration
Stratégie | Paramètre |
---|---|
Interdire l'accès au Panneau de configuration et à l'application Paramètres du PC | Activé |
↳ → → Système
Stratégie | Paramètre |
---|---|
Désactiver l'accès à l'invite de commandes | Activé |
Désactiver également le traitement des scripts d'invite de commande ? | Non |
Empêche l'accès aux outils de modifications du Registre | Activé |
Désactiver l'exécution silencieuse de regedit.exe ? | Non |
↳ → → Système/Options Ctrl+Alt+Suppr
Stratégie | Paramètre |
---|---|
Supprimer le Gestionnaire des tâches | Activé |
.
Débogage des GPO sous Windows
Lister les GPO appliquées
Pour commencer, il est recommandé d'actualiser les paramètres de stratégies de groupes du client, dans l'invite de commandes
, saisir :
gpupdate
La commande suivante permet d'obtenir la liste des GPO appliqués pour l'utilisateur connecté :
gpresult /SCOPE USER /V
Pour obtenir les GPO "machine", la commande (à exécuter en tant qu'administrateur) est :
gpresult /SCOPE COMPUTER /V
Exécution de code PowerShell
Si le GPO nécessite des traitements complexes, il est probable qu'il exécutera un programme PowerShell[58].
L'application Windows PowerShell ISE
(exécutée en tant qu'administrateur) permet d'ouvrir et d’exécuter simplement des fichiers .ps1[59].
Ajout de modèle d'administration de stratégie de groupe (ADM/ADMX)
Les modèles d'administration ou templates d'administration permettent d'ajouter des paramètres supplémentaires à l'éditeur de stratégie de groupe de l'Active Directory.
Par exemple, les modèles pour Firefox permettent de paramétrer le navigateur :
Configurer les paramètres du navigateur : page d'accueil, moteur de recherche, extensions autorisées, etc ;
Restreindre certaines fonctionnalités : désactiver la navigation privée, bloquer les mises à jour, empêcher la modification des paramètres proxy ;
Appliquer des politiques de sécurité : forcer l'utilisation de HTTPS, interdire certains sites, activer le mode kiosque.
Procédure d'ajout de fichier ADM/ADMX
Les fichiers ADM/AMDX ainsi que les dossiers contenant les traductions (Ex. : fr-FR) doivent être ajoutés dans le dossier :
\\addc\sysvol\NOM_DOMAINE_LOCAL\Policies\PolicyDefinitions
.
Cependant, si vous ne placez que les fichiers ADM/ADMX Firefox, l'éditeur de stratégie de groupe n'affichera plus que les modèles d'administration de Mozilla/Firefox.
Afin d'avoir l'ensemble des modèles d'administration, il faut tous les copier dans \\addc\sysvol\NOM_DOMAINE_LOCAL\Policies\PolicyDefinitions
.
Les modèles d'administration par défaut se trouvent sur le disque local des postes clients, dans C :\Windows\PolicyDefinitions.
Il suffit de copier l'ensemble du contenu de ce dossier dans \\addc\sysvol\NOM_DOMAINE_LOCAL\Policies\PolicyDefinitions
.
Lors de la copie des modèles d'administration par défaut, le système vous demandera si vous souhaitez remplacer/fusionner les dossiers déjà présents, par exemple "fr-FR" et "en-US". Cochez la case "Faire ceci pour tous les éléments actuels" et répondez "Oui".

Une fois l'ensemble des fichiers copiés (ceux des modèles par défaut et ceux pour Firefox), on obtient ceci :
Observation et prise en main des postes clients
L'observation et la diffusion des postes clients s'effectue grâce au logiciel Veyon[49].
Le logiciel est automatiquement installé et configuré sur les postes clients par le client EOLE sauf si cela est explicitement désactivé dans l'interface de configuration du module.
Dans la configuration proposée, seuls les enseignants (membres du groupe professeurs
) et les administrateurs (membres du groupe Domain Admins
) sont autorisés à utiliser l'application.
Ces utilisateurs peuvent visualiser l’écran de tous les postes inscrits dans la même classe (voir la gestion par salle) que leur poste et démarrés.
La configuration par défaut permet uniquement la visualisation de l’écran, sans interaction. Il est possible d’autoriser la prise en main à distance (accès au clavier et à la souris du poste distant) en passant la variable Pouvoir prendre le contrôle de postes dans la salle et visualiser les postes non listés
à oui
.
Attention
L’activation de la fonctionnalité de prise de contrôle des postes de la classe entraîne également la possibilité d’accéder aux postes hors de la classe, Veyon permettant de sélectionner le poste ciblé en renseignant une IP.
Bien que seuls les postes de la classe soient listés, l'adresse IP saisie peut pointer vers n'importe quel autre poste.
Écran
- 1
Activer la jonction automatique au domaine
L’activation automatique de jonction au domaine permet d’appliquer aux clients salt enregistrés un état qui exécute l’opération de jonction au domaine si le poste est encore hors-domaine.
Conseil
L’application de l’état par le client salt nécessite que celui-ci dispose du mot de passe d’un compte avec les droits suffisants pour l’opération de jonction au domaine. Le mot de passe de ce compte est modifié au reconfigure pour limiter l’impact de sa diffusion. Il est conseillé de s’assurer que les reconfigure sont exécutés fréquemment si cette option est activée.
Attention
Cette option n’est pas compatible avec l’option d’acceptation automatique des certificats des clients salt.
- 2
- 3
- 4
- 5
Gestion par salle
L'outil propose une gestion par salle afin que seuls les postes de la salle où l'enseignant s'est connecté lui soient proposés.
Gestion par salle avec l'attribut location
Pour affecter un poste client à une salle, il faut renseigner le nom de la salle dans l'attribut location
du compte de station.
Cela peut s'effectuer en saisissant l'emplacement dans les propriétés de chacune des entrées station dans les outils RSAT[56].

Truc & astuce
Si une règle de nommage (exemple : préfixe) est déjà appliquée aux postes clients, il sera possible de scripter la modification de l'attribut.
oldIFS=$IFS
IFS=$'\n' # declare only \n as separator
for computer in $(ldbsearch -H /var/lib/samba/private/sam.ldb '(&(objectClass=computer)(CN=techno*))' dn | grep ^dn) ;do
cat >> /tmp/location.ldif <<EOF
$computer
changetype: modify
add: location
location: technologie
EOF
done
IFS=$oldIFS # restore default separator
ldbmodify -v -H "/var/lib/samba/private/sam.ldb" /tmp/location.ldif
Dans le cas d'un module Scribe en mode AD, le script sera à exécuter dans le conteneur addc
(ssh addc).
Gestion par salle via OU
À partir d'EOLE 2.8.1, il est possible de gérer des salles dans Veyon via l'utilisation d'OU.
Le résultat est un classement automatique des ordinateurs par classe/salle, en fonction de leur présence dans des OU prédéfinies.
Passage en mode "OU"
Dans l'onglet workstation
en mode expert, passer la variable Déduire la salle des ordinateurs via
à la valeur OU
(cf image ci-dessous).
Pour retrouver les ordinateurs dans la même salle que son ordinateur, Veyon listera les ordinateurs rangés dans la même OU.
ÉcranGestions des salle par OU
- 1
Création des OU via les outils RSAT
Depuis un poste Windows intégré au domaine, exécuter Utilisateurs et ordinateurs Active Directory
puis créer des OU comme sur l'image ci-dessous.
Par défaut les ordinateurs sont recherchés à la racine de l'annuaire.
Veyon considère chaque nouvelle OU comme un emplacement (une salle/classe). En plaçant les ordinateurs dans ces OU vous leur attribuez un emplacement.
Veyon affichera les ordinateurs d'une même salle/classe.

Personnalisation de la configuration de Veyon
La configuration proposée par défaut sur le module impose certains choix fonctionnels (utilisation de l'attribut location
, demande de consentement, ...) qui ne correspondent pas forcément aux attentes ou aux habitudes de travail de tous.
Il est possible de remplacer le template jinja globalement par une version personnalisée en plaçant votre fichier dans le répertoire (à créer) : /srv/salt/eole-workstation/veyon/config/files/Windows
.
La configuration peut également être personnalisée pour une seule station en plaçant le fichier dans un répertoire au nom du FQDN de la station, par exemple : /srv/salt/eole-workstation/veyon/config/files/PC-326473.dompedago.etb1.lan/veyon-config.json
.
Truc & astuce
La commande suivante permet de forcer le déploiement de la nouvelle configuration sur tous les clients :
salt '*' state.apply eole-workstation.veyon
Le fichier README.rst
situé à la racine du projet eole-workstation-formula
décrit les différents états[67] mis à disposition :
https://dev-eole.ac-dijon.fr/projects/eole-workstation/repository/eole-workstation-formula
Architecture mise en place pour la gestion des postes clients
Code source
Le code mis en œuvre pour la gestion des postes clients est accessible sur la forge EOLE dans les projets suivants :
Exécutables Windows
Les exécutables Windows des outils de base nécessaires au client sont mis à disposition sur le module EOLE dans /usr/share/eole/workstation
et ses sous-répertoires par les paquets[68] suivants :
- scripts EOLE pour l'installation de SaltMinion :
eole-workstation-joineole
- installeurs SaltMinion :
eole-workstation-minion
- installeurs Veyon :
eole-workstation-veyon
Serveur Web
Les fichiers nécessaires à l'installation des logiciels sur les postes clients sont mis à disposition par l'intermédiaire d'un serveur web HTTP répondant sur l'adresse suivante sans authentification : http://salt/joineole.
En fonction des services installés et activés sur le module, les fichiers seront servis soit par Apache[69] soit par Nginx[70].
Serveur Salt Master
Remarque
L'EAD3 qui implémente également un service Salt Master a été modifié à partir d'EOLE 2.7.1 afin d'utiliser des ports différents : 4605 et 4606.
Les fichier d'état[67] spécifiques à la gestion des clients EOLE sont installées par le paquet eole-workstation-formula
et sont stockés dans le répertoire /usr/share/eole/saltstack/salt
.
AttentionRésolution DNS
Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt
soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.
Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.
Comptes de service Active Directory
La gestion des postes clients s'appuie sur deux comptes de service[71] Active Directory dédiés : eole-workstation-manager
et eole-workstation-reader
.
Compte de jonction au domaine
Le compte de service eole-workstation-manager
est utilisé pour joindre les postes au domaine Active Directory.
Initialement membre du groupe Domain Admins
, ses droits ont depuis été restreints au strict nécessaire lui permettant de gérer les postes du domaine.
Son mot de passe est modifié régulièrement mais il est tout de même possible de le consulter dans le fichier : /etc/eole/private/eole-workstation-manager.password
.
Compte de lecture
Le compte de service eole-workstation-reader
est utilisé par Veyon[49] pour interroger l'annuaire Active Directory, il ne possède pas de droits particuliers.
Son mot de passe n'est jamais modifié après avoir été généré, il est donc possible d'utiliser ce compte pour mettre en œuvre d'autres applications ayant besoin d'accéder à l'annuaire Active Directory.
Le mot de passe de cet utilisateur est stocké dans le fichier : /etc/eole/private/eole-workstation-reader.password
.
ecoStations : gérer l'extinction et l'allumage des postes à des horaires donnés
Présentation
ecoStations est un outil qui permet d'éteindre le parc informatique d'un établissement suivant une procédure assez souple pour permettre d'intégrer la notion d'internat par exemple ou de station à laisser allumée constamment.
Il faut renseigner via une interface web, deux listes de stations du parc L1 et L2 ainsi que deux horaires distincts H1 et H2.
À l'heure H1, toutes les stations de l'établissement seront éteintes exceptées les stations listées dans L1 ; puis à l'heure H2, toutes les stations de l'établissement seront éteintes exceptées les stations listées dans L2.
Ainsi, les stations listées dans L1 et L2 ne seront pas éteintes.
Attention
L'application s'installe uniquement sur le module Scribe.
Les fonctions de récupération de la liste des stations et d'extinction utilisent le client EOLE
.
Installation d'ecoStations
ecoStations s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-ecostations
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Accès à l'application web
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ecostations
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Seul l'utilisateur admin
est autorisé à se connecter à l'application.
Utilisation
Les postes clients doivent avoir été pré-configurés avec power_config.cmd
ou un outil équivalant afin de supprimer la mise en veille automatique qui bloque l'ordre d'extinction.
ecoStations a été développé en étroite collaboration entre Olivier Hacquard, Pascal Ratte, Laurent Etignard, Frédéric Lamy, Valéry Georges et Jérôme Labriet.
Une documentation d'utilisation rédigée par Pierre Mariot est disponible sur le site de l'académie de Besançon :
https://applilocale.ac-besancon.fr/scribeat/ecoStations/index.htm
Gestion des quotas disque
Il est possible, pour chaque utilisateur, de limiter la quantité de données qu'il peut stocker sur le serveur en lui imposant un quota disque maximum.
Les quotas sont composés d'une limite douce (soft) et d'une limite dure (hard).
Visualisation des quotas disque dans l'EAD
Fonctionnement des quotas disque
Il est possible, pour chaque utilisateur, de limiter la quantité de données qu'il peut stocker sur le serveur en lui imposant un quota disque maximum.
Les quotas sont composés d'une limite douce (soft) et d'une limite dure (hard).
À partir d'EOLE 2.8.1, le calcul de la limite dure est réglable via l'interface de configuration du module. Par défaut il vaut le double (200%) de la limite douce.
Dans l'interface EAD, c'est la limite douce qui est indiquée.
Remarque
Les règles suivantes s'appliquent à l'utilisateur :
il ne peut pas dépasser la limite dure ;
il peut dépasser la limite douce pendant 7 jours ;
passé ce délai, seule la limite douce est prise en compte et il est obligé de supprimer des données afin de repasser en dessous de celle-ci ;
à partir de là, le processus de la limite douce/dure reprend et l'utilisateur peut à nouveau dépasser la limite douce pour une durée maximale de 7 jours.
AttentionAttribution des limites liées aux quotas
Les limites de quotas s'appliquent à la création des utilisateurs, leur modification ultérieure ne s'applique donc pas automatiquement aux les utilisateurs déjà créés.
Les quotas sur le module Scribe
Attention
Les quotas sont appliqués sur la partition /home
. Les quotas concernent, ainsi, l'ensemble des fichiers créés par l'utilisateur sur le serveur (dossiers personnels, partages équipe pédagogique, classe, groupes, etc.).
Désynchronisation des quotas disque
Il peut arriver qu'il y ait une désynchronisation entre l'utilisation réelle du disque et le système de vérification des quotas.
Cela se traduit généralement par le fait que des utilisateurs sont considérés à tort comme dépassant leur quota disque.
La commande quotacheck
permet de corriger le problème. Son utilisation demande quelques précautions.
Exemple
Exemple d'utilisation de quotacheck sur le module Scribe où /home
est la partition utilisée pour les données et les quotas utilisateurs.
arrêter les différents services susceptibles d'écrire sur la partition (samba, proftpd, exim4, ...) ;
démonter les éventuels montages liés à cette partition (images ISO, ...) ;
désactiver les quotas sur la partition :
quotaoff /home
;lancer la vérification des quotas :
quotacheck -vug /home
;réactiver les quotas sur la partition :
quotaon /home
;remonter les partitions :
mount -a
;démarrer les services précédemment arrêtés.
Truc & astuce
Cette procédure est également à appliquer dans le cas où la commande repquota -a ne rend plus la main.
Infosquota : gestion des quotas utilisateurs
Présentation
Infosquota est un outil qui permet de mettre en place les quotas de manière très souple et très pédagogique. Chaque utilisateur apprend à gérer son quota en suivant une information claire sur son évolution.
Grâce à son outil de visualisation, Infosquota permet de retrouver les fichiers que les utilisateurs ont ventilé hors de leur lecteur partagé personnel. En effet les fichiers dispersés dans d'autres volumes sont comptabilisés dans le quota de l'utilisateur.
Infosquota a été développé par Olivier Hacquard et Jérôme Labriet (Académie de Besançon) en étroite collaboration avec Bruno Debeve (Académie de Bordeaux), Frédéric Poyet (Académie de Dijon) et Pierre Mariot (Académie de Besançon) dans le cadre du projet EOLE.
Remarque
Les derniers développements mis à disposition par Bruno Debeve ont également été intégrés.
Installation d'Infosquota
Infosquota s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-infosquota
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Attention
L'application fonctionne uniquement sur le module Scribe.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
L'initialisation de l'application (recherche des fichiers) s'effectue lors de l'instance ou du reconfigure suivant l'installation du paquet.
La mise à jour des fichiers s'effectue de façon hebdomadaire.
Accès à l'application web
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/quotas/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Seul l'utilisateur admin
est autorisé à se connecter à l'application.
Utilisation
Une documentation d'utilisation est disponible dans l'espace de contributions EOLE à l'adresse suivante :
Remarques
L'utilisation du disque par utilisateur est enregistrée dans le fichier : /home/netlogon/infosquota/quotas.txt
.
Le journal généré par le script de recherche des fichiers est disponible dans : /var/log/infosquota/recherche-fich-users.log
.
La liste des fichiers ventilés d'un utilisateur est stockées dans le fichier : /var/www/html/outils/quotas/log/<login>.log
.
Résoudre des dysfonctionnements liés au client EOLE
Problèmes à l'inscription au domaine
Lorsqu'un problème survient lors de l'inscription au domaine ou à l'ouverture de session, plusieurs pistes sont à explorer.
Sur le serveur
Vérifier l'état du serveur avec la commande diagnose
.
Vérifier la communication avec le client à l'aide de la commande tcpcheck
:
# tcpcheck 2 <IP_station>:135
Remarque
Sur le serveur les commandes doivent être exécutées avec l'utilisateur root
, soit sur la console soit via SSH.
Sur un client Windows
Vérifier la configuration réseau de la station avec la commande ipconfig /all
Vérifier la communication du client avec le serveur avec les commandes :
ping <adresse_module>
nbtstat -A <adresse_module>
Débogage du service Salt Master
Clients enregistrés
La commande salt-key
permet de lister les clés des clients, de les accepter ou de les refuser.
Événements Salt
La commande suivante permet de suivre tous les événements :
salt-run state.event pretty=True
Journaux d'installation du client Salt Minion
Les étapes de l'installation de Salt Minion sont enregistrées par défaut dans le fichier : $TEMP\install-minion.log.
Sur une installation standard, ce chemin peut-être :
-
C:\Windows\Temp\install-minion.log
;
ou encore :
C:\Users\%USERNAME%\AppData\Local\Temp\install-minion.log
Journaux du client Salt Minion
Sur un client Microsoft, les logs du clients sont enregistrés dans le dossier :
%ProgramData%/Salt Project/Salt/var/log/salt/minion
Vérifier/corriger les ACL du SYSVOL
Truc & astuce
Sur le module ScribeAD, ces commandes sont à exécuter à l'intérieur du conteneur :
lxc-attach -n addc -- samba-tool ntacl sysvolcheck
lxc-attach -n addc -- samba-tool ntacl sysvolreset
Débogage des GPO sous Windows
Lister les GPO appliquées
Pour commencer, il est recommandé d'actualiser les paramètres de stratégies de groupes du client, dans l'invite de commandes
, saisir :
gpupdate
La commande suivante permet d'obtenir la liste des GPO appliqués pour l'utilisateur connecté :
gpresult /SCOPE USER /V
Pour obtenir les GPO "machine", la commande (à exécuter en tant qu'administrateur) est :
gpresult /SCOPE COMPUTER /V
Exécution de code PowerShell
Si le GPO nécessite des traitements complexes, il est probable qu'il exécutera un programme PowerShell[58].
L'application Windows PowerShell ISE
(exécutée en tant qu'administrateur) permet d'ouvrir et d’exécuter simplement des fichiers .ps1[59].
Les clients GNU/Linux
Suite passage du mode Samba NT[47] au mode Active Directory[48], les anciens outils tels que JoinEOLE et le client Scribe ne sont plus fonctionnels.
À partir d'EOLE 2.7.1, la gestion des postes clients est basée sur de nouveaux outils tels que SaltStack[19], Veyon[49] et les GPO[50].
Le projet regroupant tous ces outils est appelé : eole-workstation
Intégration au domaine et installation du client EOLE sur les postes GNU/Linux
À partir d'EOLE 2.8.0, il est possible d'utiliser le client EOLE pour intégrer des clients GNU/Linux au domaine.
Intégration par le client EOLE
Dans ce scénario, il faut installer le client (Salt Minion) sur tous les postes :
depuis le poste client connecté avec un utilisateur ayant accès au mode superutilisateur (sudo[73])
ouvrir un navigateur internet
télécharger l'installeur du client
installMinion.sh
via HTTP[10] en naviguant vers l'adresse suivante : http://salt/joineoleexécuter le script d'installation dans un terminal à l'aide de la commande suivante :
sudo bash installMinion.sh
AttentionRésolution DNS
Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt
soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.
Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.
AttentionProxy
L'accès à http://salt doit s'effectuer sans proxy.
Si un pare-feu est présent entre le serveur et les clients, il faut s'assurer que celui-ci est configuré correctement.
Dans le cas d'un serveur Amon, il est possible de déclarer des exceptions en utilisant les variables : proxy_bypass_domain_ethX
.
Attention
Le script d'installation télécharge des fichiers sur Internet.
Si il est nécessaire pour sortir, le proxy doit impérativement être configuré dans l'environnement d'exécution du script.
Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur.
Dès que sa clé est acceptée, il s'occupe de joindre automatiquement la station au domaine Active Directory lors du premier re-démarrage du poste client.
Acceptation et gestion des clés
Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur afin qu'il soit pleinement fonctionnel.
Gestion des clés dans l'EAD3
Il est possible d'accepter et de gérer les clés des clients EOLE au travers de l'interface d'administration EAD3.

L'action Gestion des clés clients
est disponible dans la catégorie Clients
.
Écran
L'action présente les clients sous la forme d'un tableau.
- les clés non acceptées peuvent être acceptées, rejetées ou supprimées ;
- les clés acceptées peuvent être supprimées ou renommées
Attention
Pour l'instant, l'action Renommer
modifie uniquement le nom de la clé du client mais pas celui du poste.
Écran
À partir d'EOLE 2.8.1, la suppression des clés propose deux choix :
OUI
entraîne la suppression complète du client, c'est-à-dire partie Salt et partie AD, ce qui inclut la disparition du client de son compte machine de AD.NON
effectue la suppression du client uniquementdans Salt, le compte machine est toujours dans le domaine.
Gestion des clés en ligne de commande
Dans une console sur le serveur exécuter la commande :
# salt-run state.event pretty=True
Attendre l'arrivée d'un message salt/auth :
salt/auth {
"_stamp": "2019-01-31T10:06:32.609135",
"act": "pend",
"id": "PC-213950.etb1.ac-test.fr",
"pub": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyu6dKgb7MAhVmvoOZxMY\niVLxoOK+RtyPm56RLqeXwie3cekt76kfXNc2f2bS0LC9ut4i92TY6/+YMADz+BIP\nzaVXnKdfywJb/dHI+Q0riJRfz6P7ElANX1oqNSUKK2KQi2UIH16hjUSWbnsTVVHr\nc4+yLDsOX1x0Qyt+SfmEB/gl1nJcLk3Y+2CcGy6C+hBvo1h35BFvdNLAQkSMXHPO\njx9WLvORTj6ZHyxUapHQw+RhIrPj+Q9/M7HZgFtNIMQH22er9SO5iBUfwE2lXBgh\nCCXY3AnBz2hSrb7Qyaqz0evJsBr6eqh2SEnH7vneSOmRbJU26MqRHAbeHzQVWjln\nvQIDAQAB\n-----END PUBLIC KEY-----",
"result": true
}
Accepter la clef du minion en exécutant la commande suivante :
# salt-key -A
Il est également possible d'accepter les clés avec l'utilisateur eole
ou eole2
plutôt que root
.
Pour ce faire, vous devez ouvrir une session (ssh ou console) avec l'utilisateur eole
ou eole2
en choisissant l’option Shell Linux
dans le menu semi-graphique (avant-dernière option de la liste). Cela vous permet d’obtenir une invite de commande du type :
eole@scribe :~$
Vous pouvez alors lancer les mêmes commandes qu’avec l’utilisateur root
en utilisant l’outil sudo
.
Pour attendre l’arrivée des clés :
eole@scribe:~$ sudo salt-run state.event pretty=True
Pour accepter toutes les clés :
eole@scribe:~$ sudo salt-key -A
Automatisation de la classification des objets dans l'AD
Disponible à partir d'EOLE 2.7.2 et pré-installé sur Scribe >= 2.8.1, le paquet eole-ad-dc-ou
permet de créer automatiquement une structure d'unités organisationnelles[64] et de définir des règles de classification des nouveaux objets sur les modules Scribe en mode AD et les contrôleurs de domaine Seth.
Par défaut, lors de la création d'un utilisateur, y compris via les procédures d'importation automatisées, l'objet AD est créé dans CN=Users,<realm>
.
De même, à l'intégration d'un ordinateur, la fiche AD est créé dans CN=Computers,<realm>
.
L'ensemble des utilisateurs et des ordinateurs se retrouvent ainsi dans ces 2 conteneurs AD.
La création de GPO[50] utilisateur peut être réalisée en utilisant les filtres par groupe mais, ce n'est pas la pratique la plus courante. Il est plus facile d'associer une GPO avec un Unité Organisationnelle.
Le paquet eole-ad-dc-ou
permet de générer une organisation (niveaux, classes, personnes, machines, salles, ...) sous forme d'une arborescence d'OU.
Une fois l'arborescence créée, l'ensemble des utilisateurs/ordinateurs présents dans le conteneur par défaut seront analysés et classés selon les règles indiquées.
Installation du paquet
S'il n'est pas déjà présent, le paquet s'installe à l'aide de la commande suivante :
apt-eole install eole-ad-dc-ou
Une fois le paquet installé, de nouvelles variables sont disponibles dans l'interface de configuration du module.
Configuration dans gen_config
.
Le paramétrage d'UO personnalisées se fait dans l'onglet GPO
activer_ad_ou : permet d'activer la création automatique d'une arborescence d'UO
activer_ad_schedule : permet d'exécuter la commande de classement chaque jour (si des nouveaux utilisateurs sont ajoutés, ils seront automatiquement classés dans leurs UO)
activer_ad_ou_classifier : Activer le classement automatique des utilisateurs et ordinateurs vers une arborescence d'UO
ad_ou_names : Il s'agit de la liste des OU. Pour chaque OU, il faut saisir :
- ad_ou_names_X :
Nom de l'UO personnalisée.
Les espaces sont autorisés lors de la saisie.
Le caractère '/' permet de créer une UO sous une autre UO. Exemple "MON UO/Ma sous UO".
- ad_ou_classifier_X
aucun : ne déplace aucun objet
membreDe : déplace les personnes appartenant au groupe renseigné dans le champ ad_ou_group_X dans une UO personnalisée.
membreDeENT : déplace les personnes appartenant au groupe renseigné et les répartis dans des sous-UO Niveau (attribut "Meflcf") et Classe (attribut "Divcod") de l'UO personnalisée.
ordinateur : déplace les ordinateurs dans l'UO personnalisée.
ordinateur_par_classe : ne déplace que les ordinateurs et les répartissant dans des sous OU en fonction de leurs noms.
- ad_ou_group_X
Facultatif, groupe auquel doit appartenir l'objet pour être sélectionné.
Exemple :
Avec ad_ou_group="professeurs" : prof-1 sera sélectionné, eleve-1 non
Avec ad_ou_group="eleves" : eleve-1 sera sélectionné, prof-1 non
Avec ad_ou_group="" : pas de filtre, tous seront sélectionnés.
- ad_ou_pattern_X
Dans cette zone, vous pouvez saisir une règle de filtrage sur le NOM de l'objet.
Cette règle de filtrage est une expression régulière[75] (REGEX).
Dans le cas d'un classifier ordinateur_par_classe l'expression régulière doit comporter un groupement. Le groupement est symbolisé par des parenthèses. Ce groupement servira à déterminer les noms des classes qui deviendront des sous-UO de l'UO personnalisée.
Exemple :
* ad_ou_pattern="PC" : tous les éléments contenant "PC" seront sélectionnés. Ainsi, PC-123456 sera sélectionné, MONPC-001 aussi, mais CDI-001 non et DESKTOP-ZPCLE non plus.
* ad_ou_pattern="" : pas de filtre ==> tous seront sélectionnés.
# Cas particulier classifier ordinateur_par_classe et expression avec groupement
Un groupement d'expression régulière est délimité par des parenthèses.
Le groupement peut contenir qu'un seul groupe : (PC).
Le groupement peut contenir plusieurs groupes, ils sont alors séparés par un pipe "|" (AltGr+6
) : (PC|AUTRE).
* ad_ou_pattern="(PC|TECHNO|CDI)" : les UO PC, TECHNO et CDI seront crées. Les ordinateurs contenant "PC" dans leur nom seront placés dans l'UO "PC", ceux contenant "TECHNO" dans l'UO "TECHNO", idem pour "CDI" vers "CDI".
AttentionNommage des objets et filtrage.
Il faut faire attention au nom que l'on donne aux objets comme les groupes et les ordinateurs ainsi qu'aux filtres (expression régulière) que l'on définit. Par exemple, il ne faut pas nommer les ordinateurs avec un nom comportant plusieurs éléments du groupe d'expression régulières.
Si l'on définit ad_ou_pattern="(PC|TECHNO|CDI)", il ne faut pas nommer les ordinateur "PC-CDI-00X" ou "CDIPC-00X" par exemple. Dans ce cas, le filtrage et le classement des ordinateurs par sous-UO aura des effets inattendus.
AttentionSensibilité à la casse (min/MAJ)
Les champs de sélection de groupes et de règle de filtrage sont sensibles à la casse, c'est à dire que les minuscules et les majuscules ont une importance, sont considérées différemment. Par exemple "ad_ou_pattern=pc" ne fonctionnera pas si l'objet à classer contient "PC".
Exemples de règles
Exemple
no | ad_ou_names | ad_ou_classifier | ad_ou_group | ad_ou_pattern | Comportement attendu |
1 | Utilisateurs du Domaine | aucun | Création OU sans classification | ||
2 | Professeurs/Utilisateurs du Domaine m | membreDe | professeurs | Tous les professeurs vont dans l'OU OU=Professeurs,OU=Utilisateurs du Domaine,<realm> | |
3 | Administratifs/Utilisateurs du Domaine | membreDe | administratifs | Tous les administratifs vont dans l'OU OU=Administratifs,OU=Utilisateurs du Domaine,<realm> | |
4 | Eleves/Utilisateurs du Domaine | membreDe | eleves | Tous les éleves vont dans l'OU OU=Eleves,OU=Utilisateurs du Domaine,<realm> | |
5 | Ordinateurs du Domaine | aucun | Création OU sans classification | ||
6 | Equipements fixes/Ordinateurs du Domaine | ordinateur | DESKTOP- | Tous les ordinateurs dont le nom contient 'DESKTOP-' vont dans l'OU OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
7 | Equipements mobiles/Ordinateurs du Domaine | ordinateur | LAPTOP- | Tous les ordinateurs dont le nom contient 'LAPTOP-' vont dans l'OU OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
8 | CLASSE MOBILE 1/Equipements mobiles/Ordinateurs du Domaine | aucun | Création OU simple (aucun élément n'y est classé) : OU=CLASSE MOBILE 1,OU=Equipements fixes,OU=Portables du Domaine,<realm> | ||
9 | CLASSE MOBILE 2/Equipements mobiles/Ordinateurs du Domaine | aucun | Création OU simple (aucun élément n'y est classé) : OU=CLASSE MOBILE 2,OU=Equipements fixes,OU=Portables du Domaine,<realm> | ||
10 | SALLE DE COURS/Equipements fixes/Ordinateurs du Domaine | ordinateur_par_classe | (SVT|HIS|TEST) | Sous l'OU OU=SALLE DE COURS,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm>, une arborescence est crée automatiquement avec le groupe REGEX. Dans cet exemple, la regex permet de filtrer 3 début de nom SVT ou HIS ou TEST. Tous les ordinateurs sont déplacé dans leurs OU respectivent : OU=SVT,OU=SALLE DE COURS,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> OU=HIS,OU=SALLE DE COURS,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> OU=TEST,OU=SALLE DE COURS,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
11 | SALLE DES PROFESSEURS/Equipements fixes/Ordinateurs du Domaine | aucun | Création OU sans classification | ||
12 | MULTIMEDIA/Equipements fixes/Ordinateurs du Domaine | aucun | Création OU sans classification | ||
13 | TECHNOLOGIE/Equipements fixes/Ordinateurs du Domaine | ordinateur | TEC | Tous les ordinateurs dont le nom contient 'TEC' vont dans l'OU OU=TECHNOLOGIE,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
14 | CDI/Equipements fixes/Ordinateurs du Domaine | ordinateur | CDI | Tous les ordinateurs dont le nom contient 'CDI' vont dans l'OU OU=CDI,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
15 | ULIS/Equipements fixes/Ordinateurs du Domaine | ordinateur | ULIS | Tous les ordinateurs dont le nom contient 'ULIS' vont dans l'OU OU=ULIS,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
16 | SEGPA/Equipements fixes/Ordinateurs du Domaine | ordinateur | SEGPA | Tous les ordinateurs dont le nom contient 'SEGPA' vont dans l'OU OU=SEGPA,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
17 | UPI/Equipements fixes/Ordinateurs du Domaine | ordinateur | UPI | Tous les ordinateurs dont le nom contient 'UPI' vont dans l'OU OU=UPI,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | |
18 | Power Users/Utilisateurs du Domaine | membreDe | Domain Users | Test | |
19 | Eleves/Utilisateurs du Domaine | membreDeENT | eleves | Uniquement sur Scribe Sous l'OU OU=Eleves,OU=Utilisateurs du Domaine,<realm>, une arborescence est crée avec les Niveau et Classe venant de l'ENT. Tous les éleves sont déplacer dans leur OU respectivent : OU=<Classe>,OU=<Niveau>,OU=Eleves,OU=Utilisateurs du Domaine,<realm> |
Exemple de classement sur un Scribe
Exemple
Origine | Destination | Pourquoi ? |
Administrator | CN=Administrator,CN=Users,<realm> | compte protégé, mas de mouvement |
prof1 | CN=prof1,OU=Professeurs,OU=Utilisateurs du Domaine,<realm> | prof1 est dans le groupe 'professeurs', donc règle no 2 |
c31e1 | CN=c31e1,OU=c31,OU=3eme,OU=Eleves,OU=Utilisateurs du Domaine,<realm> | c31e1 est dans le groupe 'eleves', donc règle no 19 |
prenom.eleve112 | CN=prenom.eleve112,OU=c31,OU=3eme,OU=Eleves,OU=Utilisateurs du Domaine,<realm> | prenom.eleve112 est dans le groupe 'eleves', donc règle no 19 |
CDI01 | CN=CDI01,OU=CDI,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | CDI01 est un ordinateur dont le nom commence par CDI, donc règle no 14 |
DESKTOP-01 | CN=DESKTOP-01,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | DESKTOP-01 est un ordinateur dont le nom commence par DESKTOP-, donc règle no 6 |
LAPTOP-01 | CN=LAPTOP-01,OU=Equipements mobiles,OU=Ordinateurs du Domaine,<realm> LAPTOP- | LAPTOP-01 est un ordinateur dont le nom commence par LAPTOP-, donc règle no 7 |
SRV02 | CN=SRV02,CN=Computers,<realm> | SRV02 est un ordinateur, mais il ne s'agit pas d'une Station windows, donc pas de mouvement |
SVT02 | CN=SVT02,OU=SVT,OU=SALLE DE COURS,OU=Equipements fixes,OU=Ordinateurs du Domaine,<realm> | SVT02 est une station windows, dont le nom commence par SVT, donc règle no 10 |
Exécution du script de classement
Exécution automatique
Le classement est appliqué :
- à chaque instance ou reconfigure ;
- toutes les nuits (si
Exécuter le traitement toutes les nuits
est àoui
).
Exécution depuis l'EAD3
À partir d'EOLE 2.8.1, si la création automatique d'une arborescence d'UO
a été activée dans l'interface de configuration du module, il est possible de lancer l'exécution du script de classification des objets dans l'AD directement depuis l'EAD3.

L'action Classer les nouveaux utilisateurs et ordinateurs par OU
est disponible dans la catégorie Gestion AD
.
L'action propose tout simplement d'exécuter le traitement en cliquant sur le bouton.

La fin du traitement est indiquée par une fenêtre qui s'affiche en bas à gauche de l'écran.

Exécution manuelle
Pour forcer l'exécution du traitement, il est possible d'exécuter la commande suivante :
/usr/share/eole/postservice/24-ad-ou
Le GPO « eole_script »
Le paquet eole-gpo-script
pour le module Seth ou eolead-gpo-script
pour les modules Scribe et AmonEcole met en place un GPO[50] permettant notamment de déclarer simplement des scripts personnalisés à exécuter lorsqu'un utilisateur ouvre une session sur un poste Windows (logon.exe
).
Il permet également le déploiement automatisé du nouveau client EOLE (SaltMinion[19]).
L'outil ré-utilise les mêmes concepts que l'exécution des scripts personnalisés par l'ancien client Scribe NT.
Truc & astuce
Emplacement des fichiers
Les commandes doivent être renseignées dans des fichiers texte se trouvant dans l'un des sous-répertoire du dossier scripts
situé dans le répertoire SYSVOL du contrôleur de domaine.
Le répertoire des scripts est accessible par :
Arborescence des fichiers
Les scripts peuvent être ajoutés pour :
un utilisateur →
../scripts/users/admin.txt
;un groupe →
../scripts/groups/eleves.txt
;une machine →
../scripts/machines/poste01.txt
;un OS (Win95, Win2K, WinXP, Samba, Vista) →
../scripts/os/Vista.txt
;
Attention
Windows 7, 10 et 11 sont traités de la même manière que Windows Vista (OS=Vista).
Les noms de machines doivent être écrits en minuscules.
Scripts personnalisés pour exécuter des commandes
Pour exécuter des commandes il faut utiliser l'instruction cmd
.
Par défaut, le programme d'ouverture de session affiche le programme et attend la fin de son exécution pour continuer. Un programme qui ne se ferme pas (ex. notepad.exe
) provoquera des ouvertures de session très longue et incomplètes.
l'option
NOWAIT
permet de ne pas attendre la fin de l'exécution du programme ;l'option
HIDDEN
permet de masquer la fenêtre.
Le format est :
cmd,commande,[options]
Exemple
Exécuter notepad.exe
pour l'utilisateur toto lorsqu'il ouvre une session :
Fichier \\<REALM>\netlogon\scripts\users\toto.txt :
cmd,%WINDIR%\notepad.exe,NOWAIT
Truc & astuce
Les scripts personnalisés sont concaténés dans le script principal, par défaut au début de celui-ci. Si des instructions doivent être effectuée après (nécessité d'avoir accès au lecteur commun
par exemple), placez la balise %%NetUse%% et ajoutez les instructions ensuite.
Scripts personnalisés pour monter des lecteurs
Pour monter des lecteurs il faut utiliser l'instruction lecteur
.
Le format est :
lecteur,lettre:,partage
Exemple
Monter le partage \\monserveur\partage sur la lettre V: pour tous les utilisateurs du domaine :
Fichier \\<REALM>\netlogon\scripts\groups\DomainUsers.txt :
lecteur,V:,\\monserveur\partage
Complément
Une clé de registre a été ajouté dans le GPO afin que le montage des lecteurs soit disponible pour les comptes possédant une élévation de pouvoir (ex : admin
).
Résolution de problèmes
Les actions d'exécution de script personnalisés et de montage de lecteurs réseaux sont journalisées dans le fichier %TMP%\eole_script.log
.
Gestion de l'Active Directory AmonEcole en ligne de commande
Bien qu'il existe quelques restrictions, la majorité des opérations de gestion peuvent être réalisées en ligne de commande sur les modules Seth configurés en tant que contrôleur de domaine.
Les opérations présentées sont réalisables sur le serveur que le contrôleur de domaine soit déclaré comme additionnel ou non.
Attention
La synchronisation des données entre les différents DC n'est pas instantanée et peut prendre jusqu'à trois minutes.
Gestion des groupes et des utilisateurs
Lister les groupes
samba-tool group list
Lister les utilisateurs
samba-tool user list
Créer un utilisateur
samba-tool user create titi "Mot:DeP455"
Modifier le mot de passe d'un utilisateur
samba-tool user setpassword titi
ou (noter le "\n" entre les deux mots de passe)
echo -e "MotDePasse?\nMotDePasse?" | smbpasswd -s titi
Inscrire un utilisateur à un groupe
samba-tool group addmembers "Domain Admins" titi
Consulter les attributs d'un utilisateur
pdbedit -Lv titi
Paramétrer le répertoire personnel, la lettre de montage et le profil d'un utilisateur
pdbedit -h '\\file.ac-test.fr\titi' -D 'U:' -p '\\file.ac-test.fr\profiles\titi' titi
Supprimer un utilisateur
samba-tool user delete titi
Jetons Kerberos et fichiers keytab
Les fichiers keytab, abréviation de « key table » (table des clés), sont des fichiers qui contiennent une clé de chiffrement pour un service ou un hôte.
Ils sont utiles pour réaliser des opération d'administration qui nécessite l'utilisation d'un compte avec pouvoirs sans avoir à en saisir le mot de passe.
L'article suivant (en anglais) explique plutôt bien ce qu'est un keytab : https://social.technet.microsoft.com/wiki/contents/articles/36470.kerberos-keytabs-explained.aspx
Compte machine
Sur le module Seth, un keytab du compte machine du serveur est automatiquement généré dans le fichier /var/lib/samba/eole-ad-dc.keytab
.
keytabIl est ainsi possible d'utiliser ce fichier dans des scripts, pour ajouter des entrées DNS, par exemple :
# initialisation d'un jeton Kerberos à l'aide du fichier keytab
kinit ADDC@AC-TEST.FR -k -t /var/lib/samba/eole-ad-dc.keytab
# ajout d'une entrée DNS locale
samba-tool dns add dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
# vérification de la résolution d'un nom par le DNS local
dig @localhost mac10.ac-test.fr +short
# suppression d'une entrée DNS locale
samba-tool dns delete dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
# destruction du jeton Kerberos
kdestroy
Truc & astuce
Compte utilisateur
De la même façon, il est possible de créer un fichier keytab pour des comptes utilisateur tels que admin
ou Administrator
:
root@dc1:~# samba-tool domain exportkeytab ~/administrator.keytab --principal=Administrator@AC-TEST.FR
Export one principal to admin.keytab
root@dc1:~# kinit Administrator@AC-TEST.FR -k -t ~/administrator.keytab
root@dc1:~# kdestroy
root@dc1:~# rm -f ~/administrator.keytab
Gestion des sites
Sur le contrôleur de domaine principal, la déclaration d'un site s'effectue facilement grâce à la fonction bash samba_update_site
:
. /usr/lib/eole/samba4.sh
samba_update_site monsite 10.1.1.0/24
Recherche avancée
La commande ldbsearch
permet d'effectuer des recherches dans l'annuaire Active Directory :
Initialisation de la variable LDB_URL, utilisée par la commande ldbsearch.
export LDB_URL=/var/lib/samba/private/sam.ldb
Rechercher les utilisateurs
ldbsearch -S '(objectclass=user)' cn
Afficher l'entrée d'un utilisateur
ldbsearch cn=admin
Afficher l'entrée correspondant au groupe
Administrators
ldbsearch '(&(objectclass=group)(cn=Administrators))' --cross-ncs
Afficher les entrées correspondant aux contrôleurs de domaine
ldbsearch '(invocationId=*)' --cross-ncs objectguid
Truc & astuce
ExempleAjouter une OU (Unité Organisationnelle) :
Générer le fichier ajouterOU.ldif :
dn: OU=etablissement1,DC=ac-test,DC=fr
changetype: add
objectClass: top
objectClass: organizationalunit
Ajouter la modification dans l'annuaire :
ldbadd ajouterOU.ldif
Les clients FTP
Les utilisateurs peuvent accéder à leurs données par l'intermédiaire d'un client FTP (gFTP, Filezilla, ...).
Le serveur FTP est activable/désactivable dans l'onglet Services
par l'intermédiaire de l'option Activer l'accès FTP
. Le serveur FTP est basé sur le logiciel libre ProFTPD.
Paramétrage du serveur ProFTPD
Nom du serveur FTP
Ce paramètre permet de personnaliser le nom du serveur FTP. Ce nom apparaît lorsqu'on se connecte en FTP sur le serveur avec un client ou en ligne de commande.
Activer le chiffrement TLS
Passer cette option à oui
permet d'activer le chiffrement TLS mais son utilisation est déconseillée car les échanges réalisés avec du FTP sécurisé ne passent pas ou passent difficilement les pare-feux.
Activer l'accès anonyme
L'accès anonyme permet d'ouvrir l'accès en anonyme sur le répertoire de votre choix.
Si la variable est passée à oui
une nouvelle variable Chemin du répertoire anonyme
s'affiche, sa valeur est un chemin absolu. Ce répertoire doit être créé manuellement s'il n'existe pas. L'utilisateur anonymous
peut télécharger depuis le répertoire spécifié, il n'a pas par défaut les droits d'écriture.
Le fichier de configuration contient la directive <Limit WRITE>
:
<Limit WRITE>
DenyAll
</Limit>
Activer des accès FTP supplémentaires
L'accès FTP supplémentaire permet d'ouvrir l'accès à des comptes existants sur le répertoire de votre choix.
Si la variable est passée à oui
une nouvelle variable Chemin du répertoire FTP supplémentaire
s'affiche, sa valeur est un chemin absolu. Ce répertoire doit être créé manuellement s'il n'existe pas et les droits doivent être ajustés. Les utilisateurs du module peuvent lire et écrire dans le répertoire spécifié.
Autoriser CAS en accès FTP
Cette option doit être activée pour l'utilisation de l'application Pydio sur le serveur.
Nombre maximum d'utilisateurs simultanés
Par défaut à 50
cette variable permet d'ajuster le nombre d'utilisateurs simultanés autorisés à se connecter en FTP.
Nombre maximum de processus pour ProFTPD
Par défaut à 40
cette variable permet d'ajuster le nombre maximum de processus simultanés du logiciel ProFTPD.
Taille maximum du fichier récupéré (download) en Mb
Par défaut à 500
cette variable permet d'ajuster la taille maximum des fichiers pouvant être téléchargés.
Taille maximum du fichier déposé (upload) en Mb
Par défaut à 100
cette variable permet d'ajuster la taille maximum des fichiers pouvant être déposés.
Temps maximum d'inactivité avant déconnexion (en secondes)
Par défaut à 1200
secondes (20 minutes) cette variable permet d'ajuster le temps d'inactivité avant déconnexion.
Accès FTP
Une fois l'accès FTP activé, il est possible d'accéder au service avec un client FTP (Filezilla, gFTP), par un navigateur web ou avec une application web FTP ( Pydio, anciennement Ajaxplorer, sur le module Scribe).
Accès par un navigateur web
Pour accéder aux documents avec un navigateur web il faut préciser le protocole dans l'URL :
ftp://user@<adresse_serveur>/
ou
ftp://<adresse_serveur>/
Accès par une application web
Pour accéder aux fichiers par l'application web Pydio, il faut l'activer dans l'onglet Applications web
. Pydio (anciennement Ajaxplorer) n'est pas pré-installé sur le module Horus (il s'installe avec la commande apt-eole
, voir la documentation sur les applications web). Suite à une reconfiguration du serveur, l'application sera accessible à l'adresse http://<adresse_serveur>/pydio/
moyennant l'authentification (mire EoleSSO).
Attention
Avec un client FTP (en mode passif par défaut) le mode actif doit impérativement être configuré. Dans ce mode c'est le client FTP qui détermine le port de connexion à utiliser.
Interdire l'accès FTP à des comptes utilisateur
Le fichier /etc/ftpusers
contient une liste des utilisateurs qui ne doivent pas se connecter via le service FTP. Ce fichier est utilisé non seulement pour l'administration système mais également pour augmenter la sécurité du réseau. Il contient typiquement la liste des utilisateurs qui, soit n'ont rien à faire avec le transfert FTP, soit ont trop de privilèges pour être autorisés à se connecter au serveur. De tels utilisateurs sont en général root
, daemon
, bin
, uucp
et news
.
La liste du fichier /etc/ftpusers
peut être complétée avec des utilisateurs systèmes ou LDAP dont il faut désactiver l'accès au service FTP.
Attention
Attention lors des accès FTP, le mot de passe transite en clair sur le réseau.
Anti-virus ClamAV
Si l'anti-virus ClamAV est activé, la recherche de virus en temps réel sur le FTP est activé par défaut. Il est possible de désactiver cette option dans l'onglet Clamav
en passant Activer l'anti-virus temps réel sur FTP
à non
.
Accès au dossier personnel des élèves par FTP
Sur les modules Scribe et AmonEcole, les professeurs n'ont, par défaut, pas accès au dossier personnel de leurs élèves par l'intermédiaire du protocole FTP.
Cette restriction peut être levée en répondant oui
à la question Activer l'accès aux dossiers personnels des élèves pour les professeurs
. Cette option diminue légèrement la sécurité du serveur.
Les clients Jabber (XMPP)
Jabber, également connu sous le nom de XMPP[77], est un ensemble de protocoles standards ouverts de l'IETF de messagerie instantanée et de présence, et plus généralement une architecture décentralisée d'échange de données.
Jabber est également un système de collaboration en quasi-temps-réel et d'échange multimédia via Jingle, dont la VoIP (téléphonie sur Internet), la visioconférence et l'échange de fichiers sont des exemples d'applications.
Mise en place du serveur jabber
Le service jabber (ejabberd) n'est pas pré-installé sur le module Scribe mais il est pré-packagé en tant que paquet additionnel.
Il faut donc installer le paquet manuellement avec la commande :
# apt-eole install eole-ejabberd
Remarque
La variable Voir les autres utilisateurs sans autorisation préalable
est supprimée à partir d'EOLE 2.8.0.
Le service n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Le service est activé par défaut, il peut être désactivé en répondant non
à la question Activer le serveur de messagerie instantanée ejabberd
dans l'onglet Services
de l'interface de configuration du module.
La configuration du serveur ejabberd peut être affinée dans l'onglet Ejabberd
de l'interface de configuration du module en mode expert.
Login de l'administrateur
permet de définir l'utilisateur qui sera administrateur du serveur ejabberd ;Nombre maximum de connections simultanées par utilisateur
permet de limiter le nombre de connexions simultanées par utilisateur.
Truc & astuce
Vous pouvez vérifier que vous êtes effectivement connecté en lançant la commande suivante sur le serveur :
# ejabberdctl connected-users
D'autres commandes ejabberdctl
sont disponibles et documentées avec l'option help
:
root@ejabber:~# ejabberdctl help
Configuration d'un client
Une fois le service mis en place, il est possible de s'y connecter en utilisant un compte présent dans l'annuaire.
De nombreux logiciels sont compatibles jabberd, les plus connus sont : Pidgin, Gajim, Coccinella et Kopete.
ExempleConfiguration de Pidgin


Administration des listes de diffusion
Présentation
Sur le module Scribe, le logiciel de gestion de listes de diffusion Sympa[78] est pré-installé et configuré de manière à s'intégrer totalement au module.
De la même manière que le système de messagerie de ces modules, le gestionnaire de listes de diffusion gère deux domaines :
- un domaine Internet, du type etablissement.ac-acad.fr ;
- un domaine restreint du type i-etablissement.ac-acad.fr.
Sur le module Scribe des listes sont créées automatiquement pour les groupes existants. Mais il est également possible d'en créer manuellement.
Par défaut, l'utilisateur admin
est l'administrateur de l'application web Sympa et le propriétaire de toutes les listes. Il a un accès complet à la gestion des listes. Il peut déléguer ce rôle en donnant les droits administrateur à un utilisateur.
L'interface web
L'interface web (nommée WWSympa) est constituée d'une interface principale, pour le domaine Internet et d'une interface secondaire (robot), pour le domaine restreint. Elles sont accessibles sur les adresses suivantes :
-
http://adresse_interne:8787/wws
pour le domaine etablissement.ac-acad.fr -
http://adresse_interne:8888/wws2
pour le domaine i-etablissement.ac-acad.fr
Chacune dispose de sa propre interface d'administration.
Pour se connecter à l'interface web en tant qu'utilisateur admin
, il n'est pas obligatoire de renseigner l'adresse email comme demandé par l'interface, le compte admin
suffit.
Remarque
Les interfaces Sympa sont accessibles uniquement via l'adresse privée du module Scribe.
Sur le module AmonEcole, l'adresse à utiliser est celle de l'interface 1 du serveur.
Il est également possible de créer des listes de diffusion afin d'y inscrire des personnes extérieures.
Ainsi, il est envisageable de créer des listes de toutes sortes (projets locaux, passionnés de kayak, etc.).
Les listes créées automatiquement
La plupart des groupes créés par le mécanisme d'importation et via l'EAD se voient associer une liste de diffusion du même nom sur le domaine interne.
Ces listes sont créées automatiquement et les abonnés de la liste de diffusion sont synchronisés avec ceux du groupe LDAP toutes les deux heures.
Un individu n'est donc pas inscrit à la liste immédiatement après son affectation au groupe.
La synchronisation LDAP implique que la liste des abonnés à la liste ne soit pas modifiable via l'interface Sympa.
Les listes suivantes sont automatiquement créées dans le domaine interne :
- liste
administratifs
; - liste
professeurs
; - liste
eleves
; - liste
resp-<classe>
(responsables).

Remarque
Pour qu'un personnel enseignant ou administratif apparaisse dans les listes, il est impératif qu'il possède une boite aux lettres locale ou que son adresse de messagerie personnalisée soit renseignée.
Liste pour les responsables
Des listes sont créées automatiquement pour chaque classe avec comme nom resp-<classe>
et servent à inscrire les responsables de chacun des élèves qui composent cette classe.
Attention
Ces listes ne sont pas peuplées automatiquement, de plus elles ne sont pas visibles dans Roundcube sauf lorsque l'on crée un groupe du même nom. Il n'est pas possible de créer des groupes de responsables sans partage.
Peupler des listes de diffusion
Un document sur la Création de listes de diffusion (globale et par classe) pour les responsables écrit (octobre 2014) pour la version 2.3 d'EOLE par Sylvain Godmé et sous licence Creative Commons by-nc-sa reste valable et est consultable à l'adresse suivante :
http://eole.ac-dijon.fr/documentations/2.3/contributions/Creation-liste-responsables.pdf
Créer une liste de tous les responsables
Voici une méthode pour créer la liste de tous les responsables (avec une domaine "-i") sur un module Scribe.
# domaine_messagerie_etab=$(CreoleGet domaine_messagerie_etab)
# mkdir /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables
# touch /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables/info
# cp /var/lib/sympa/expl/i-$domaine_messagerie_etab/professeurs/config /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables/config
# chown -R sympa:sympa /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables
# python3 -c "from scribe.eolegroup import _add_maillist_aliases;_add_maillist_aliases({'groupe':'responsables', 'ldomaine':'i-$domaine_messagerie_etab'})"
Éditer le fichier /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables/config
et appliquer les modifications suivantes :
modifier le sujet de la liste à la première ligne (ex :
subject liste de tous les responsables
) ;modifier la catégorie de la liste (ex :
topics Responsables
) ;remplacer
include_ldap_2level_query
parinclude_ldap_query
;à la ligne débutant par
suffix1
remplacer le début
suffix1 cn=professeurs,ou=local,ou=groupes,
parsuffix ou=local,ou=responsables,ou=utilisateurs,
;supprimer toutes les lignes suivantes jusqu'à la fin du fichier et les remplacer par celles qui suivent :
filter (objectClass=responsable)
attrs mail
select all
scope sub
Attention
Il faut laisser le temps au daemon sympa de réaliser la synchronisation LDAP pour que les membres de la liste soient les bons.
En effet la copie du fichier config a été faite à partir de la liste professeurs et tant que le sync_include() ne s'est pas fait ce sont les professeurs qui sont membres.
Création manuelle de listes
L'application permet de créer manuellement des listes totalement indépendantes de l'annuaire LDAP[79].
Les membres de ces listes sont stockés dans la base MySQL[80] de Sympa.
Cette possibilité est utile dans le cas où l'on souhaite gérer une liste de diffusion impliquant des personnes extérieures à l'établissement par exemple.
ExempleCréation de liste manuelle
se connecter à l'interface du domaine souhaité avec le compte
admin
;cliquer sur l'onglet
Création de liste
;choisir un nom pour cette nouvelle liste (sans espace ni caractère spécial) ;
bien réfléchir au
Type de liste
désiré ;saisir l'objet de la liste (descriptif court) ;
choisir sa catégorie (le plus souvent
Groupes de travail
ouAutre
) ;et la description de la liste (descriptif long) ;
cliquer sur
Envoyer votre demande de création
;le bouton
Admin
du menu de gauche permet ensuite d'accéder à la gestion de la liste et des abonnés.
Architecture du gestionnaire de liste de diffusion
Les fichiers de configuration définissant chaque liste de diffusion sont stockés dans un répertoire du nom de la liste dans :
-
/var/lib/sympa/expl/
pour les listes du domaine Internet ; -
/var/lib/sympa/expl/i-monetab.ac-acad.fr
pour les listes du domaine interne
C'est l'une des raisons pour lesquelles il n'est pas possible de modifier la variable domaine_messagerie_etab
une fois l'instanciation du serveur effectuée.
Les archives des listes sont stockées dans le répertoire /var/lib/sympa/wwsarchive
.
Pour redémarrer Sympa il faut utiliser la commande service sympa restart
. Avant cela il faut impérativement que MySQL soit démarré, sinon des erreurs se produiront.
L'interface web Sympa est gérée par le fichier /usr/lib/cgi-bin/sympa/wwsympa.fcgi
. Il s'agit d'un script CGI en perl qui utilise le mode fcgid d'apache2 pour fonctionner. La présence d'un sticky bit sur ce fichier est nécessaire pour assurer le bon fonctionnement de l'application.
Les alias des listes de diffusions (utilisés par le MTA[81]
Exim4[82]) sont stockés dans le fichier /etc/mail/sympa.aliases
Pour plus d'information, veuillez vous référer à la documentation officielle du logiciel :
Remarque
Sur le module AmonEcole, tous les fichiers indiqués ci-dessus se trouvent dans le conteneur bdd
.
Truc & astuce
Pour modifier les Catégories de liste proposées, il est obligatoire de patcher le template EOLE :
/usr/share/eole/creole/distrib/topics.conf
.
Architecture messagerie académique
Pour fonctionner pleinement, le système de messagerie proposé sur les modules EOLE a besoin d'adaptations au niveau des serveurs académiques.
Il faut :
un relai SMTP[84].
Le relai académique doit être capable de distribuer les adresses Internet (etab.ac-acad.fr
) et les adresses restreintes (i-etab.ac-acad.fr
).
Remarque
Si vous n'avez pas de relai académique, votre domaine restreint sera limité à l'établissement et non à l'Académie.
Le DNS
Au niveau du DNS académique, il faut écrire les MX de chacun des domaines Internet des établissements, en les faisant pointer vers le relai académique.
Le relai SMTP
Au niveau des modules Scribe, le relai de messagerie étant le relai académique, tous les courriers électroniques du domaine Internet ou restreint d'autres établissements arriveront sur le relai.
La distribution des courriers électroniques se fait ensuite grâce au routage SMTP (table de routage Postfix ou Exim).
En fonction de vos architectures, vous pouvez remonter sur le module Scribe, soit via votre réseau de concentration, soit via un réseau VPN (Amon-Sphynx), soit via Internet en mettant en place du SNAT sur le pare-feu établissement.
Nous recommandons de positionner le module Scribe sur une DMZ de l'établissement.
Il est recommandé d'utiliser une passerelle dédiée pour faire du routage SMTP avec anti-virus et anti-spam.
Comme toujours en architecture réseau il n'y pas de solution unique !
Truc & astuce
Le module Seshat permet de mettre en place simplement un relai académique.
Résoudre des dysfonctionnements liés aux listes de diffusion
La commande diagnose permet de vérifier l'état des différents services liés au gestionnaire de listes SYMPA.
*** Gestion de listes SYMPA
. sympa => Ok
. archived => Ok
. bulk => Ok
. bounced => Ok
. task_manager => Ok
Indications utiles au débogage du gestionnaire de listes Sympa :
les messages d'erreur se trouvent dans le fichier journal :
/var/log/rsyslog/local/exim/exim.info.log
;
le gestionnaire de listes Sympa journalise également des informations dans
/var/log/syslog
;
les droits sur
/var/lib/sympa
doivent êtresympa:sympa
;
vérifier la présence du sticky bit (-rwsr-sr-x 1 sympa sympa) sur le fichier
/usr/lib/cgi-bin/sympa/wwsympa.fcgi
:# ll /usr/lib/cgi-bin/sympa/wwsympa.fcgi
-rwsr-sr-x 1 sympa sympa 611477 avril 10 2014 /usr/lib/cgi-bin/sympa/wwsympa.fcgi*
vérifier que la liste est bien référencée dans
/etc/mail/sympa/aliases
.
Remarque
Sur le module AmonEcole, les fichiers et processus mentionnés ci-dessus, autres que les journaux systèmes, se trouvent dans le conteneur bdd
.
Pour se connecter au conteneur bdd
utiliser la commande :
# ssh bdd
Synchronisation depuis l'Annuaire Académique Fédérateur - AAF
Fonctionnement général de la synchronisation
la machine ODI[85] génère une archive
tar.gz
par établissement à synchroniser ;dès l'archive terminée, elle est envoyée sur le module Zéphir accompagnée d'une notification ;
le module Zéphir envoie l'archive sur le module Scribe auquel elle a été associée ;
le module Scribe lance l'import de l'archive (mode automatique) ou la stocke pour l'EAD (mode manuel).
Truc & astuceComment récupérer les fichier tar.gz ?
Information et documentation à retrouver sur le site intranet de diffusion de l'académie de Toulouse :
http://nservdiff.in.ac-toulouse.fr/appli/infra/versions/ver_majaaf.html
Guide utilisateur 1.5 en version format privateur .doc
:
http://nservdiff.in.ac-toulouse.fr/appli/infra/documentation/aaf/Guide_UtilisateurV1_5.doc
Guide d'exploitation 1.5 en version format privateur .doc
:
http://nservdiff.in.ac-toulouse.fr/appli/infra/documentation/aaf/Dossier_exploitationV1_5.doc
Attention
Depuis 2019, c'est le Pôle de Compétences IH2M - Identité
basé à Orléans qui diffuse les éléments liés à l'Annuaire Académique Fédérateur.
Association archive - module Scribe
L'association d'un module Scribe avec son archive se fait pour l'instant manuellement, à l'aide du code python suivant :
from xmlrpc.client import Server
z = Server("https://utilisateur:codeSecret@adresse_zephir:7080")
z.aaf.add_file(idZéphir, 'nomArchive.tar.gz')
Pour afficher la liste des archives associées au module Scribe possédant l'identifiant Zéphir idZéphir
:
z.aaf.get_list(idZéphir)
Pour supprimer l'association entre l'archive et le module Scribe :
z.aaf.del_file('nomArchive.tar.gz')
Exemple
Dans cet exemple, on associe l'archive 0000001a.tar.gz
au module Scribe possédant l'identifiant 58
dans l'application web Zéphir :
from xmlrpc.client import Server
z = Server("https://user:password@adresse_zephir:7080")
z.aaf.add_file(58, '0000001A.tar.gz')
Pour afficher la liste des archives associées au module Scribe possédant l'identifiant 58 dans l'application web Zéphir :
z.aaf.get_list(58)
Pour supprimer l'association entre l'archive 0000001A.tar.gz
et le module Scribe :
z.aaf.del_file('0000001A.tar.gz')
RemarquePython2
Les exemples proposés fonctionnent en python3.
Pour réaliser les mêmes manipulations avec un interpréteur python2, il faut remplacer la première ligne par :
from xmlrpclib import Server
Attention
L'utilisateur Zéphir utilisé pour effectuer les manipulations décrites ci-dessus doit posséder le droit Gestion de la synchronisation AAF
dans l'application Zéphir.

Envoi des fichiers sur le module Zéphir
Les archives générées (de la forme <numéro_UAI>.tar.gz
) doivent être envoyées dans le répertoire : /var/lib/zephir/aaf
.
L'envoi des fichiers peut être réalisé par la méthode de votre choix : rsync
, scp
, ...
Une fois l'archive envoyée, il faut notifier cet envoi au module Zéphir.
Cela peut être fait par les lignes python suivantes :
from xmlrpc.client import Server
z = Server("https://utilisateur:codeSecret@adresse_zephir:7080")
z.aaf.notify_upload('numeroUAI.tar.gz')
Truc & astuceImport annuel
À partir d'EOLE 2.8.0, si la synchronisation est configurée en mode automatique, il est possible de demander à ce que l'import des fichiers soit réalisé en mode "annuel" depuis le serveur Zéphir en utilisant l'appel suivant :
z.aaf.notify_upload_annuel('numeroUAI.tar.gz')
Attention
L'utilisateur Zéphir utilisé pour effectuer les manipulations décrites ci-dessus doit posséder le droit Gestion de la synchronisation AAF
dans l'application Zéphir.
Gestion de l'archive sur le module Scribe
Dès que le module Zéphir est notifié de l'arrivée d'une nouvelle archive, il prépare son envoi vers le module Scribe qui lui est associé (sauf si l'archive possède la même signature que sa version précédente).
Le module Scribe récupère l'archive lors de sa connexion au module Zéphir.
Il est possible de configurer la façon dont le module importe les données de l'archive récupérée.
Cela se paramètre dans l'interface de configuration du module, en mode expert, dans l'onglet Ent
.
La variable Mode de synchronisation AAF
permet de choisir entre deux modes :
- automatique : l'importation des fichiers est exécutée dès leur réception ;
-
manuel : l'archive est stockée et l'importation est prête à être exécuté par l'EAD (menu
Outils
/Synchronisation AAF
).
La variable Envoi d'un courrier électronique en cas d'erreur
active l'envoi d'un courrier électronique en cas d'erreur lors de l'import manuel ou automatisé des fichiers AAF. Le ou les destinataires de ce message sont à ajouter dans Adresse(s) électronique(s) à utiliser
.
Si le module Scribe est configuré en mode manuel, l'import des archives envoyées sur le module Scribe se réalise à la demande en allant dans l'EAD.
Le formulaire d'import est accessible par le menu Outils
/ Synchronisation AAF
.
Par défaut l'import est réalisé en mode Mise à jour des bases, mais il est possible de l'effectuer en mode Importation annuelle des bases en cochant la case Importer les fichiers en mode "annuel"
.
Mise à jour des bases : ajoute les utilisateurs et groupes manquants sans modifier les groupes existants ;
Importation annuelle des bases : ajoute les utilisateurs et groupes manquants après avoir purgé les options (import des élèves) ou les équipes pédagogiques (import des professeurs).
Truc & astuce
L'import peut également être exécuté en ligne de commande en utilisant le script synchro_aaf
avec comme paramètre l'un des fichiers cité dans /var/lib/eole/aaf/aaf_files/
.
Suivi de la synchronisation et de l'importation
Agent Zéphir
Application web Zéphir
Rapports d'importation
L'importation des fichiers AAF synchronisés utilise les même scripts que l'importation habituelle, on retrouve donc les rapports de l'importation AAF aux endroits suivants :
- page d'accueil de l'EAD (
/usr/share/ead2/backend/tmp/importation/rapport.txt
) ; - répertoire personnel de l'utilisateur
admin
:/home/a/admin/perso/importation
; - journaux complets :
/var/log/eole/importation.log
.
Remarque
L’importation automatisée créant les rapports dans le répertoire personnel de l’utilisateur admin
, il peut être utile d’exporter les identifiants provisoires des élèves via l’action de gestion des utilisateurs de l’EAD.
Outils à destination des enseignants
EOP : application web à destination des enseignants
Présentation
Présentation
L'objectif de l'application web EOP (EOLE Outils Profs) est de proposer une interface simple contenant un ensemble d'outils à destination des enseignants. Cette nouvelle application, indépendante, ne traite pas uniquement de la gestion des documents et peut être intégrée dans un portail. Le développement est basé sur le framework python Flask[86].
Principales fonctionnalités
gestion de documents (distribution simple, ou distribution et ramassage) ;
possibilité de changer le mot de passe d'un élève ;
possibilité de changer le mot de passe du compte enseignant.
Remarque
Pour désactiver l'application il faut se rendre dans l'interface de configuration du module en mode normal, dans l'onglet Applications web et passer Activer EOP (gestion de devoir)
à non
.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application il faut se rendre à l'adresse : https://<adresse_serveur>/eoleapps/eop/documents/
Rôles des utilisateurs
Seuls les enseignants et l'utilisateur admin
(enseignant également) ont un accès à l'application.
Les professeurs principaux ont accès à quelques fonctionnalités supplémentaires.
Les élèves disposent des documents distribués dans leur répertoire personnel mais n'ont pas d'accès à l'application EOP.
Fonctionnalités
Menu Documents

Distribuer : permet de gérer la distribution de documents ;
Ramasser : permet de récupérer un document distribué et nécessitant la modification par les utilisateurs ;
Rendre : permet d'annoter les documents ramassés et de les restituer ;
Historique : permet de lister les différents documents et de connaître leur état.
Menu Gestion

Mots de passe : visible uniquement avec le rôle de professeur principal, cette option permet de changer le mot de passe d'un ou de plusieurs utilisateurs.
Délégation de droits : visible uniquement avec le rôle de professeur principal, elle permet de déléguer la gestion des mots de passe (dans EOP et EAD) et des comptes élève (dans l'EAD) pour une classe donnée.
Menu Préférences

Mots de passe : permet de modifier son propre mot de passe.
Distribution de documents
Donner un nom de référence et choisir des destinataires

Nom de référence
La référence vous permet d'identifier le processus de distribution durant les différentes étapes de sa vie (distribution, ramassage, restitution, suppression). Il permettra également à l'utilisateur d'identifier le répertoire de destination du ou des documents.
Destinataires
Vous devez sélectionner un ensemble de destinataires à qui distribuer la référence, celui-ci peut être une classe, une équipe, un groupe, une matière ou un niveau.
Uniquement les élèves / À tous les membres
Par défaut la référence n'est distribuée qu'aux élèves, en cochant l'option À tous les membres
, vous pouvez distribuer la référence à tous les membres de l'ensemble.
Vider la liste
Il est possible de supprimer des destinataires ajoutés par erreur. Vider la liste permet de supprimer tous les destinataires ajoutés.
Sélectionner le(s) document(s) à distribuer
Le(s) document(s) à distribuer seront accessibles en écriture par les utilisateurs dans leur répertoire personnel dans un sous-répertoire ayant pour nom celui de la référence.

Cliquer
Vous pouvez cliquer dans la zone grise pâle pour ouvrir un navigateur de fichier. Celui-ci vous permet de choisir un ou plusieurs fichiers d'un même répertoire en maintenant la touche Ctrl + clic
.
Glisser
Vous pouvez faire glisser un ou plusieurs documents dans la zone gris pâle depuis une autre fenêtre.
Vider la liste
Il est possible de supprimer un document téléversé par erreur. Vider la liste permet de supprimer tous les documents téléversés.
Attention

Si le message Fichier trop gros !
apparaît, en bas à droite de la fenêtre, alors la valeur maximale pour la taille d'un fichier à téléverser doit être ajustée dans l'onglet Apache
du module Scribe et/ou dans l'onglet Reverse proxy
du module Amon en mode expert.
Distribuer immédiatement ou plus tard
La distribution peut être différée ou immédiate.

Distribuer immédiatement
La distribution a lieu après avoir cliqué sur le bouton Valider
.
Distribuer plus tard
Cette option permet de préparer la distribution de document à distance ou dans l'établissement.
La distribution se fera en utilisant, au moment voulu, l'option Distribuer
de l'application Gestion-postes à l'intérieur de l'établissement.
Envoi automatique de mail aux élèves
Un courrier électronique peut être automatiquement envoyé de votre part aux élèves destinataires des documents.
Pour cela, cochez la case et complétez le sujet et le corps avant de lancer la distribution.

Choisir un ou des documents annexes (optionnel)
Cette étape est optionnelle. Les annexes sont des documents qui ne seront pas accessibles en écriture par les utilisateurs.

Cliquer
Vous pouvez cliquer dans la zone grise pâle pour ouvrir un navigateur de fichier. Celui-ci vous permet de choisir un ou plusieurs fichiers d'un même répertoire en maintenant la touche Ctrl + clic.
Glisser
Vous pouvez faire glisser un ou plusieurs documents dans la zone gris pâle depuis une autre fenêtre.
Vider la liste
Il est possible de supprimer un document téléversé par erreur. Vider la liste permet de supprimer tous les documents téléversés.
Valider la distribution
Gestion des documents
Ramassage
Le ramassage consiste à sélectionner un document qui a été distribué auparavant et à le collecter auprès de chacun des élèves.

Pour se faire il faut se rendre dans l'onglet Documents
/ Ramassage
, sélectionner la référence du document à ramasser et cliquer sur le bouton Ramasser
.
Truc & astuce
Complément
Un message texte qui avertit l'utilisateur que le document a été ramassé est disponible dans le répertoire de l'utilisateur portant le nom de référence concaténé avec le nom de la classe. Ce répertoire se trouve dans le répertoire /perso/devoirs/nom de l'enseignant/
de l'élève.
Restitution
La restitution consiste à sélectionner un document qui a été ramassé auparavant et à le distribuer auprès de chacun des élèves.

Pour se faire il faut se rendre dans l'onglet Documents
/ Restitution
, sélectionner la référence du document à restituer. Un message peut accompagner la restitution afin de prévenir l'utilisateur. Pour se faire cocher l'option Envoyer un mail aux élèves
, saisir le titre et le contenu du courrier électronique. Enfin cliquer sur le bouton Rendre
.
État des documents
Ce tableau récapitulatif reprend tous les documents distribués.
Vous pouvez les trier en cliquant sur les en-têtes de colonnes.
Vous pouvez aussi filtrer le tableau en entrant les premiers caractères du mot souhaité dans le champ de recherche.
Dans la colonne action les boutons Rendre
, Ramasser
et Supprimer
permettent d'agir sur l'état des documents.
Remarque
Le bouton Supprimer
permet d'effacer le cache d'une référence (documents et annexes) qui prend de la place sur le serveur. Attention, une fois le cache supprimé, les élèves ne peuvent plus accéder aux annexes.
Changement de mot de passe par lot
Cette page n'est accessible, par défaut, qu'aux enseignants identifiés en tant que "professeur admin" et aux enseignants identifiés comme étant "professeur principal".
RemarqueDéfinition d'un "professeur admin"
En mode mono-établissement, seul l'utilisateur admin
est "professeur admin".
En mode multi-établissement, cette fonctionnalité peut être déléguée à des enseignants d'un établissement en les inscrivants dans le groupe spécial : admin-[etabxxx]
.
Changement de mot de passe par utilisateur (élèves)
Truc & astuce
Il est possible d'accorder à tous les professeurs le droit de changer le mot de passe de n'importe quel élève. Pour cela, se rendre dans l'interface de configuration du module, en mode expert et dans l'onglet Applications web
, répondre oui
à la question Permettre aux enseignants de changer le mot de passe de tous les élèves
.
Utilisateurs concernés
Choisir un groupe dans la liste des groupes, il est possible de sélectionner tous les élèves du groupe ou de les sélectionner un par un. Pour faciliter la recherche il est possible de trier les élèves par nom, prénom ou identifiant. Les élèves sélectionnés sont ajoutés dans le champ Sélection
. Une croix blanche sur fond rouge permet de supprimer un compte de la liste. Le lien Vider la liste
permet de vider toute la liste.
Il faut choisir le type de mot de passe qui sera appliqué aux comptes sélectionnés :
Mot de passe aléatoire
: le ou les mots de passe seront affichés à la validation du changement et enregistrés dans le répertoire personnel de l'enseignant sous forme de fichier.csv
;Même mot de passe pour tous
: permet de choisir le mot de passe.
Une case à cocher permet d'imposer que le mot de passe par défaut soit changé à la première connexion.
La validation du changement de mot de passe se fait avec le bouton Modifier
, un message informe du changement :
Les mots de passe des utilisateurs suivants ont été modifiés avec succès :
ELEVE130 Prenom : 7gUo4*T
Modifications enregistrées dans votre répertoire personnel dans le fichier mot-de-passe_9_4_0.csv.
Changement de mot de passe enseignant
Les "professeurs admin" disposent également d'un formulaire supplémentaire pour changer les mots de passe des enseignants dans un ou plusieurs établissement.
Comme pour le formulaire par groupe, plusieurs choix de type de mot de passe à appliquer sont présentés. La validation du changement de mot de passe est déclenchée via le bouton Modifier
. Un message avertit du bon déroulement de la procédure.
Écran
- 1
- 2
- 3
- 4
- 5
Changement de mot de passe élèves par établissement
Les "professeurs admin" disposent également d’un formulaire supplémentaire pour changer l’ensemble des mots de passe des élèves dans un ou plusieurs établissement.
Si un seul établissement est enregistré, il sera pré-sélectionné. Si plusieurs établissements ont été trouvés, une fenêtre déroulante permet de sélectionner un ou plusieurs d’entre eux.
Comme pour le formulaire par groupe, plusieurs choix de type de mot de passe à appliquer sont présentés. La validation du changement de mot de passe est déclenchée via le bouton Modifier
. Un message avertit du bon déroulement de la procédure et de la création d’un fichier récapitulatif dans le répertoire de l’utilisateur ayant lancé le changement de mot de passe.
Écran
- 1
- 2
- 3
- 4
- 5
Délégation de droits
Cette fonctionnalité n'est accessible que pour les enseignants identifiés comme étant professeur principal.
Pour un administrateur de classe, il est possible de déléguer à un autre enseignant le droit de gestion des comptes élève et des mots de passe.
Cette délégation permet de modifier les mots de passe des comptes élèves dans EOP et l'EAD mais permet une gestion plus complète dans l'EAD (inscription à des groupes, fixation de quotas disque…).
La vue affiche toutes les classes dont l'enseignant est responsable. Dans chaque classe est affichée une liste des personnes ayant également un droit de gestion.
Pour déléguer un droit de gestion à un autre enseignant, il faut choisir son nom dans le menu déroulant de la classe désirée. Une fois sélectionné il s'ajoute à la liste des administrateurs sans demande de confirmation.
Pour retirer ce droit à un enseignant, il faut cliquer sur la croix rouge correspondant à son nom. Aucune validation n'est nécessaire.
Remarque
Un enseignant ne peut pas se retirer la qualité de responsable de classe.
Gestion des comptes temporaires
Cette fonctionnalité est uniquement accessible aux enseignants identifiés en tant que "professeur admin".
RemarqueDéfinition d'un "professeur admin"
En mode mono-établissement, seul l'utilisateur admin
est "professeur admin".
En mode multi-établissement, cette fonctionnalité peut être déléguée à des enseignants d'un établissement en les inscrivants dans le groupe spécial : admin-[etabxxx]
.
Depuis l'accueil d'EOP il est possible de gérer les comptes temporaires.

Attention
Pour pouvoir créer un compte temporaire il faut que le groupe invité-[etabxxx]
existe.
Pour cela il est nécessaire de passer par l'interface de l'EAD2 pour le créer.
Truc & astuceUtilisateurs temporaires
Tous les utilisateurs temporaires créés de cette façon feront partie du groupe invite-[etabxxx]
L'exécution du script /usr/share/eole/sbin/del_expired_users.py
supprimera les comptes temporaires dont l'expiration a dépassé les 15 jours.
Documentation technique
Principales fonctionnalités
L'authentification est centralisée et gérée par eoleflask-aaa, donc plus de cron pour effacer les fichiers de sessions sur le serveur
Une section EOP dans le diagnose fait un TCPCheck des ports 8788 de controle-vnc et 6080 de websockify.
EOP est une application flask
servie par gunicorn
, et gérée par apache en reverse-proxy.
En cas de dysfonctionnement il faut vérifier :
l'état du service
eoleapps
;
Si le module est en mode conteneur il faut utiliser les commandes suivantes dans le conteneur web, pour se rendre dans le conteneur web : # ssh web .
Vérifier le service eoleapps.
Vérifier les logs dans /var/log/eoleflask/gunicorn-error.log
et /var/log/eoleflask/gunicorn-access.log
.
S'il y a une erreur
NoApplicationError: No application loaded
alors il faut vérifier la présence d'un lien symbolique dans/etc/eole/flask/enabled/
pointant vers le fichier/etc/eole/flask/available/eop.conf
.
S'il y a une erreur
CookieError: Invalid Attribute envole.user
, il faut mettre à joureole-posh
ou supprimer le cookie$envole.user
.
Relancer le service :
# service eoleapps restart
Il est également possible de demander l'exécution du service dans une console python :
>>> from eoleflask.application import run
>>> run(config='eoleapps')
Remarque
En mode conteneur, dans le cas d'un module AmonEcole par exemple, le fichier de log /var/log/controle-vnc/main.log
se trouve dans le conteneur fichier
.
Vérifier le service apache.
Vérifier que les modules apache pour le proxy inverse sont bien activés :
# a2enmod proxy proxy_http
# service apache restart
Tester EOP sans passer par le proxy inverse (de l'extérieur par tunnel SSH) :
# ssh -L 9999:127.0.0.1:5000 root@<adresse IP du module>
Puis entrer dans un navigateur l'URL : http://localhost:9999/documents
Les journaux de l'application EOP sont accessibles dans le fichier /var/log/eoleflask/eop.log
.
Distribution de documents dans l'EAD
FIXME 2.7.1
L'EAD offre la possibilité aux enseignants de distribuer des documents et des travaux éducatifs (évaluation, bilan, contrôle ou devoir contrôlé).
Les fonctionnalités sont équivalentes à celles disponibles dans le logiciel Gestion-postes
mais contrairement à celui-ci, qui n'est accessible que depuis les clients Windows de l'établissement, elles sont disponibles à travers le portail Envole et donc accessibles depuis l'extérieur de l'établissement.

La distribution de documents au travers de l'EAD permet de faire une distribution immédiate ou différée des documents. Dans le cas d'une distribution différée (voir Choix du répertoire de destination), les documents sont préparés avec l'EAD et leur accès sera activé au moment opportun avec Gestion-Postes
.
La distribution peut être composée de deux éléments :
le ou les documents sous forme d'un ou plusieurs fichiers. Ils seront copiés dans chacun des dossiers personnels
devoirs
/nom_de_l'enseignant
/<nom_du_devoir>
des utilisateurs du groupe sélectionné. Les utilisateurs auront un accès en lecture et en écriture à ces fichiers (modification/suppression) ;les données jointes au(x) document(s) qui sont des fichiers supplémentaires dont la modification est impossible. Ils sont copiés une seule fois à un endroit spécifique du serveur. Des liens symbolique vers ces fichiers sont créés dans le sous-répertoire
donnees
du répertoiredevoirs
/nom_de_l'enseignant
/nom_devoir
de chacun des utilisateurs.
Si la distribution de document est un travail éducatif, la distribution s'effectue en suivant les 4 étapes suivantes :
distribuer ;
ramasser ;
rendre : distribution des devoirs corrigés ;
supprimer : effacement des fichiers du devoir.
Distribuer des documents
Étape 1 : Choix du groupe et du nom du document
Il faut avant tout choisir, dans le menu déroulant Choix du groupe
, la classe, la matière ou l'équipe à qui l'ont veut distribuer un ou plusieurs documents. Puis on choisit un nom Nom du document
pour l'espace de travail. Il apparaîtra dans le répertoire personnel de chacun des utilisateurs sous la forme devoirs
/ nom_de_l'enseignant
/ <espace_de_travail>
et contiendra les documents de travail et les données.
Le nom du document ne doit comporter ni espace ni caractère accentué.
La case Uniquement aux élèves du groupe
est cochée par défaut. Décochée, elle permet d'envoyer les documents aux autres membres du groupe, comme par exemple aux enseignants.
Étape 2 : Télécharger les documents à distribuer
Le bouton Parcourir
permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger
, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer.
Étape 3 : Télécharger les données à joindre au document
Le bouton Parcourir
permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger
, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer. Cette étape n'est pas obligatoire.
Étape 4 : Choix du répertoire de destination
Par défaut, l'option Dans le dossier 'perso\devoirs'
étant sélectionnée, les documents seront distribués dans le répertoire personnel des utilisateurs.
L'option Dans le partage 'devoirs' (non accessible par défaut)
permet de préparer la distribution différée de documents. Ce travail de préparation peut donc se faire aussi bien à l'extérieur qu'à l'intérieur de l'établissement. La distribution ne sera effective qu'au travers du logiciel Gestion-postes
.
Dernière étape : Distribuer
Valider le bouton Distribuer
pour que la distribution soit effective.
Truc & astuce
Il est possible de distribuer les mêmes documents à plusieurs groupes :
Étape 1 : Choix du groupe et du nom du document
Il faut choisir un autre groupe dans le menu déroulant et obligatoirement changer le nom de l'espace de travail Nom du document
.
Étape 2 : Télécharger les documents à distribuer
S'il n'y a qu'un document, son chemin est encore dans le champ parcourir. Il suffit alors de cliquer sur le bouton Charger
. À défaut, il faut recharger les différents documents à distribuer.
Étape 3 : Télécharger les données à joindre au document
S'il n'y a qu'une donnée, son chemin est encore dans le champ parcourir, il suffit de cliquer sur le bouton Charger
. À défaut, il faut recharger les différentes données à distribuer.
Ramasser des documents
Cette fonctionnalité permet de ramasser les travaux des utilisateurs.
Les documents ramassés se retrouvent dans l'arborescence du dossier personnel de l'utilisateur les ayant ramassés :
…
/ perso
/ devoirs
/ ramasses
/ Nom de l'espace de travail (Nom du document)
/ Identifiant des élèves
/
Rendre des documents
Supprimer les données
Lorsqu'un enseignant distribue des données en plus des documents, elles sont copiées dans U:\devoirs\.distribues
et des liens vers ces fichiers sont ensuite créés dans le répertoire nom_du_devoir
\ donnes
de chacun des destinataires.
Il est possible de supprimer ces fichiers lorsqu'ils sont devenus inutiles.
Attention
La suppression des données entraînera également la suppression du dossier
<nom_du_devoir>
\donnees
dans le dossier des destinataires.Cette fonctionnalité permet de supprimer les données liées à une distribution de document qui ne seraient plus utiles par la suite. Elle permet donc d'économiser de la place sur le serveur de stockage.
Suppression annuelle des documents distribués
L’administrateur du système peut utiliser le script suppr_devoirs (/usr/share/eole/sbin/suppr_devoirs
) pour supprimer les documents distribués en cours d’année par les enseignants.
Ce script ne supprime pas les devoirs édités par les élèves et les enseignants mais seulement les documents sources.
L’’exécution du script suppr_devoirs n’est pas automatisée et l’administrateur peut choisir le moment de le lancer. Il est logique de vouloir le lancer à la fin d’une session de cours pour supprimer d’un bloc les documents qui pourraient être distribués à nouveau lors de la session suivante. Cela évite le problème d’erreurs de distribution du fait de la présence de documents de même nom.
Les sauvegardes
Généralités sur la sauvegarde
La sauvegarde[87] consiste à dupliquer des données stockées dans le Système Informatique (SI) de l'entité, dans le but de les mettre en sécurité.
Cette mise en sécurité a pour but de répondre à deux éventualités de restauration[88] :
la restauration de tout ou d'une partie du SI, suite à une dégradation importante ou à une destruction ;
la restauration de quelques fichiers, suite à une corruption ou une destruction limitée de données.
On distingue trois types de sauvegardes :
- la sauvegarde totale ;
- la sauvegarde différentielle ;
- la sauvegarde incrémentale.
La sauvegarde peut être :
réalisée localement ;
sur un média (serveur, disque, bande, CD-ROM) ;
hébergé dans le SI (Système Informatique) à des fins de restauration rapide ;
archivée ;
externalisée.
Sauvegarde totale
Une sauvegarde totale ou complète, correspond à la copie intégrale d'un contenu à un instant T, sans prendre en compte l'historique.
Coûteuse en temps et en espace, cette sauvegarde reste malgré tout la plus fiable, puisqu'elle assure à elle seule l'intégrité de l'ensemble des données sauvegardées.
Il n'est pas judicieux de ne pratiquer que ce type de sauvegarde, car l'ensemble des données n'est jamais totalement modifié entre deux sauvegardes.
Il existe deux autres méthodes qui procèdent à la sauvegarde des seules données modifiées et/ou ajoutées entre deux sauvegardes totales :
la sauvegarde incrémentale ;
la sauvegarde différentielle.
Sauvegarde incrémentale
Une sauvegarde incrémentale réalise une copie des fichiers créés ou modifiés depuis la dernière sauvegarde quel que soit son type (complète, différentielle ou incrémentale).
Une sauvegarde totale est réalisée le jour T. Le jour T+1, la sauvegarde incrémentale est réalisée par référence à la sauvegarde précédente, donc la sauvegarde T. Le jour T+2, la sauvegarde incrémentale est réalisée par référence à la sauvegarde précédente, à savoir T+1. Et ainsi de suite.
La restauration d'un système complet à un jour donné (par ex : au jour T+3) se fait en appliquant la dernière sauvegarde complète (jour T), ainsi que toutes les sauvegardes incrémentales jusqu'au jour cible, à savoir T+1, T+2 et T+3.
Lorsqu'il s'agit de la restauration d'un fichier ou d'un répertoire qui a été sauvegardé à la date T+3 (T étant le jour de la sauvegarde totale de référence), seule la sauvegarde incrémentale du jour T+3 est nécessaire.
Sauvegarde différentielle
Une sauvegarde différentielle réalise une copie des fichiers crées ou modifiés, en se basant sur les différences constatées avec la dernière sauvegarde totale (quelles que soient les sauvegardes intermédiaires).
Attention
La notion de sauvegarde différentielle peut varier suivant la solution de sauvegarde utilisée.
Cette présentation est fidèle à l'outil de sauvegarde choisi par EOLE.
Des outils de sauvegarde
Les systèmes GNU/Linux embarquent depuis toujours des outils unitaires d'archivage qui permettent de réaliser des embryons de stratégie de sauvegarde.
Ainsi des outils tels que la commande tar permettent de créer des archives sur des médias locaux (disques, ou lecteurs de bandes).
Via des scripts se basant sur les dates de modifications, il est possible d'implémenter les méthodes de sauvegarde détaillées dans les paragraphes précédents.
Des outils plus complexes, et souvent propriétaires, ont été développés depuis, pour faciliter la création de ces sauvegardes (gestion du contenu à sauvegarder), mais aussi pour faciliter la gestion du calendrier de sauvegarde (programmation des tâches et des successions de sauvegardes).
Enfin, la plupart de ces outils intègrent la gestion de la restauration, avec la possibilité de choisir la date cible à restaurer.
Les solutions logicielles les plus connus sont :
Tivoli Storage Manager (TSM) - IBM
Time Navigator - Atempo
Networker - EMC/Legato
ARCserve Backup - Computer Associate
Arkeia Network Backup - Arkeia
Bacula - Bacula
Bareos - Bareos
La sauvegarde EOLE
À partir d’EOLE 2.5 l'outil de sauvegarde utilisé est l’application libre Bareos.
Backup Archiving REcovery Open Sourced est un dérivé (fork[89]) de l'outil de sauvegarde Bacula : http://www.bareos.org
Bareos permet de sauvegarder :
des fichiers et des dossiers
Bareos permet de sauvegarder des données (indifféremment sur des disques locaux ou distants, des bandes magnétiques), de gérer un nombre important et non limité de clients, et évidemment de restaurer facilement les sauvegardes.
Bareos supporte, entre autres, la possibilité de faire des sauvegardes sur plusieurs unités de stockage si une première unité possède une capacité insuffisante.
Le vocabulaire Bareos
Bareos utilise un nombre important de ressources pour définir une sauvegarde.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-60001.3
Quelques définitions
Job
L'objet le plus élevé est la définition d'un Job, représentant une "sauvegarde" au sens Bareos du terme.
Un Job Bareos est une ressource de configuration qui définit le travail que Bareos doit effectuer pour sauvegarder ou restaurer un client particulier. Un Job consiste en l'association d'un type d'opération à effectuer (Type : backup, restore, verify, etc.), d'un niveau de sauvegarde (Level : Full, Incremental, ...), de la définition d'un ensemble de fichiers et répertoires à sauvegarder (FileSet), et d'un lieu de stockage où écrire les fichiers (Storage, Pool).
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-990008.2
Schedule
Un Job peut être immédiat, mais dans une stratégie de sauvegarde, il est généralement planifié via la ressource Schedule.
Le schedule détermine la date et l'instant où le job doit être lancé automatiquement, et le niveau (total, différentiel, incrémental...) du job en question.
Cette directive est optionnelle. Si elle est omise, le job ne pourra être exécuté que manuellement via la Console.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1010008.4
Volume
Un Volume est une unité d'archivage, usuellement une cartouche ou un fichier nommé sur disque où Bareos stocke les données pour un ou plusieurs jobs de sauvegarde. Tous les volumes Bareos ont un label unique (logiciel) écrit sur le volume par Bareos afin qu'il puisse être assuré de lire le bon volume. En principe, il ne devrait pas y avoir de confusion avec des fichiers disques, mais avec des cartouches, le risque d'erreur est plus important.
Les volumes ont certaines propriétés comme la durée de rétention des données et la possibilité d'être recyclés une fois cette durée de rétention expirée; ceci afin d'éviter de voir grossir indéfiniment l'espace disque occupé par les sauvegardes.
Pool
La ressource Pool définit l'ensemble des Volumes de stockage (cartouches ou fichiers) à la disposition de Bareos pour écrire les données. En configurant différents Pools, vous pouvez déterminer quel ensemble de volumes (ou média) reçoit les données sauvegardées.
Ceci permet, par exemple, de stocker les sauvegardes totales sur un ensemble de volumes, et les sauvegardes différentielles et incrémentales sur un autre. De même, vous pouvez assigner un ensemble de volumes à chaque machine sauvegardée.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1130008.8
FileSet
Un FileSet est une ressource qui définit les fichiers à inclure dans une sauvegarde. Il consiste en une liste de fichiers ou répertoires inclus, une liste de fichiers ou répertoires exclus et la façon dont les fichiers seront stockés (compression, chiffrement, signatures).
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1030008.5
Storage
Cette ressource définit les services de stockage que peut contacter le directeur. On y retrouve les répertoires de travail du processus, le nombre de Jobs concurrents qu'il est capable de traiter, et éventuellement, la définition des adresses IP des clients dont il accepte les connexions. Chaque Job est associé à une ressource Storage. Une ressource Storage peut être associée à plusieurs Jobs.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1120008.7
Device
Véritable destination physique de la sauvegarde, la ressource Device fait le lien entre le matériel de sauvegarde (lecteur de bandes, robots de sauvegarde, mais aussi disques locaux - internes comme externes) et la ressource Storage.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1250009.4
Catalog
La ressource Catalog précise quel catalogue utiliser pour le job courant. Actuellement, Bareos ne peut utiliser qu'un type de serveur de base de données défini lors de sa configuration : SQLite, PostgreSQL. En revanche, vous pouvez utiliser autant de catalogues que vous le souhaitez. Par exemple, vous pouvez avoir un catalogue par client, ou encore un catalogue pour les sauvegardes, un autre pour les jobs de type Verify et un troisième pour les restaurations.
Le catalogue (ressource Catalog) est une base de données utilisée pour stocker :
des informations sur les fichiers: la liste, les permissions, l'emplacement sur les volumes de sauvegarde, etc.
la définition de la configuration de Bareos.
Actuellement, trois formats de bases de données sont supportés : SQLite, et PostgreSQL.
SQLite est conseillé pour de petites installations.
Attention, l'interface web ne fonctionne qu'avec PostgreSQL.
Le catalogue est une pièce majeure de Bareos, et doit également faire partie du plan de sauvegarde.
Ce catalogue peut rapidement devenir volumineux, il faut veiller au taux d'occupation et à la performance de la base de données.
Point important, la configuration de Bareos se fait à deux niveaux:
les fichiers de configuration ;
la base de données.
Bareos lit les fichiers de configuration au démarrage, et inscrit les valeurs dans la base de données du Catalogue. C'est le Catalogue qui définit la configuration utilisée par Bareos, donc il faut préférer le résultat des commandes console aux valeurs des fichiers.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1150008.9
Architecture de Bareos
Bareos est construit suivant une architecture distribuée :
le serveur directeur (Bareos directeur) est l'élément central, qui supervise et archive les opérations de sauvegarde et de restauration, le nom du service sur un module EOLE est bareos-director ;
le serveur base de données (database server) gère le catalogue dans lequel le directeur archive les opérations et l'emplacement des fichiers dans les différents volumes de sauvegarde, au format SQLite. Il se trouve sur le même serveur que le directeur sur un module EOLE ;
le serveur de stockage (Bareos stockage) est le serveur qui prend en charge l'écriture et la lecture des volumes de sauvegarde, le nom du service sur un module EOLE est bareos-storagedaemon ;
le serveur de lecture/écriture de fichiers (Bareos fichier), aussi identifié comme le client exécute les commandes de lecture/écriture des fichiers gérés par la sauvegarde sur chaque poste où il est installé, le nom du service sur un module EOLE est bareos-filedaemon ;
La communication entre chaque serveur est associée à un mot de passe. Ces différents serveurs peuvent être :
installés sur la même machine sans problème ;
présents en plusieurs exemplaires (on peut dupliquer les destinations de sauvegardes, avoir plusieurs
directeur, etc.).
Cependant, la configuration Bareos sur un module EOLE ne permet uniquement qu’un sous-ensemble de ces combinaisons de services :
le directeur est toujours associé à un serveur de base de données local ;
le directeur est toujours associé à un client local pour assurer la sauvegarde du catalogue ;
le directeur peut utiliser un serveur de stockage distant ;
un serveur de stockage peut être associé à plusieurs directeurs ;
un serveur de stockage est toujours associé à un directeur local ;
le directeur peut prendre en charge plusieurs clients ;
le client peut être activé indépendamment des autres services.
Cette partie de la configuration est appelée directeur dans la suite de la documentation.
Par contre, il est possible de déporter le serveur de stockage sur un serveur disposant d'un disque de sauvegarde.
Pour résumer, 3 services liés aux sauvegardes se retrouvent sur un module EOLE :
bareos-dir (lié à bareos-fd)
bareos-fd (lié à bareos-dir)
bareos-sd
Truc & astuce
Plusieurs directeurs peuvent envoyer les données sur un unique serveur de stockage en établissement.
Il est également possible de copier les sauvegardes au travers d'autres protocoles réseau : rsync, samba, SSH, etc.
Configuration des sauvegardes
La configuration des sauvegardes consiste en une activation de la sauvegarde du serveur et/ou en l'activation du support de sauvegarde sur le module.
Si le support de sauvegarde est activé, un complément de configuration peut se faire :
par l'EAD ;
par l'EAD3 ;
en ligne de commande.
Activation et configuration de Bareos
La sauvegarde du serveur et le support de stockage de la sauvegarde sont activés par défaut sur certains modules, il peuvent être activés/désactivés dans l'onglet Services
de l'interface de configuration du module.
L'activation du directeur de sauvegarde permet d'activer la sauvegarde sur le serveur, celle-ci peut être locale si le support de stockage est activé ou déportée à condition d'avoir un serveur sur lequel est activé le support de stockage.
Cette fonctionnalité permet de mettre en place des sauvegardes croisées.
L'activation du support de stockage de la sauvegarde permet d'accueillir des sauvegardes locales ou distantes.
L'activation de la sauvegarde des fichiers locaux, en mode expert, permet de sauvegarder les fichiers du serveur lui-même.

Suite à l'activation du directeur de sauvegarde (
Activer le directeur de sauvegarde
àoui
) l'ongletDirecteur bareos
apparaît dans l'interface de configuration du module. Il permet de configurer le nom du directeur et les périodes de rétention et de définir si le serveur de stockage est distant ou local.
Suite à l'activation du support de stockage (
Activer le stockage de sauvegarde
àoui
) l'ongletStockage bareos
apparaît dans l'interface de configuration du module. Il permet de configurer le nom du serveur de stockage et permet également d'autoriser des directeurs à se connecter au présent stockage.Suite à l'activation de la sauvegarde des fichiers locaux (
Activer la sauvegarde des fichiers locaux
àoui
) l'ongletClients bareos
apparaît dans l'interface de configuration du module. Il permet de configurer le nom du serveur de sauvegarde des fichiers locaux.
Onglet Directeur bareos
L'onglet Directeur bareos
apparaît dans l'interface de configuration du module si le directeur de sauvegarde est activé dans l'onglet Services
(Activer le directeur de sauvegarde
à oui
) .
L'onglet permet de configurer le nom du directeur et les périodes de rétention et de définir si le serveur de stockage est distant ou local.
Le nom du directeur est une information importante, il est utilisé en interne dans le logiciel mais, surtout, il est nécessaire pour configurer un client Bareos ou pour joindre le serveur de stockage depuis un autre module.
À l'enregistrement du fichier de configuration il ne sera plus possible de modifier le nom du directeur. En effet, cette variable est utilisée dans les noms des fichiers de sauvegarde.
AttentionMigration de version EOLE
À partir d'EOLE 2.8.1, Bareos fonctionne avec PostgreSQL[91] tandis que sur les versions précédentes, il était possible de choisir entre MySQL et SQLite.
Il n'existe pas de migration de données entre ces bases.
Dans le cas d'une montée de version vers 2.8.1, il vous faudra penser à effectuer une nouvelle sauvegarde dès que possible.
Le champ Mot de passe du directeur
contient le mot de passe à transmettre aux applications distantes pour leur permettre de s'authentifier auprès du directeur.
Configuration des durées de rétention
Les trois types de sauvegarde, complète, différentielle, incrémentale, disposent chacune d’un pool de volumes distinct. Cela permet de paramétrer des durées de rétention[92] et des tailles pour ces volumes différents pour chaque type de sauvegarde.
La sauvegarde du catalogue est également gérée avec un pool de volume distinct. Seule la taille des volumes est paramétrable cependant.
Écran
- 1
- 2
- 3
- 4
La durée de rétention des fichiers détermine le temps de conservation avant l'écrasement.
Plus les durées de rétention sont importantes, plus l'historique sera important et plus l'espace de stockage nécessaire sera important.
L’espace alloué à un volume n’est pas recyclé (réutilisé pour une autre sauvegarde) avant que le volume ne soit complet et que les durées de rétention ne soient atteintes.
Limiter la taille des volumes est utile dans deux cas :
le système de fichier hébergeant les volumes impose une contrainte sur la taille des fichiers (typiquement les systèmes FAT montés via le protocole SMB, à l’origine de la contrainte de 2 Go) ;
on souhaite pouvoir recycler plus rapidement les volumes (de petite taille, les volumes sont associés à moins de jobs ; il faut donc moins de temps pour purger l’ensemble des jobs associés et pouvoir recycler les volumes).
Sur les serveurs avec un historique de sauvegarde conséquent, il n’est pas rare que la limite par défaut de 2 Go pour le pool du Catalogue finisse par poser problème : ce pool n’autorise qu’un volume qui doit être d’une taille suffisante pour contenir la sauvegarde du catalogue.
Exemple
Il peut être intéressant de conserver un historique long mais avec peu d'états intermédiaires.
Pour cela, voici un exemple de configuration :
- 6 mois de sauvegardes totales ;
- 5 semaines de sauvegardes différentielles ;
- 10 jours de sauvegardes incrémentales.
Avec la politique de sauvegarde suivante :
- une sauvegarde totale par mois ;
- une sauvegarde différentielle par semaine ;
- une sauvegarde incrémentale du lundi au vendredi.
Dans l'historique, il y aura donc une sauvegarde par jour de conservée pendant 10 jours, une sauvegarde par semaine pendant 5 semaines et une sauvegarde mensuelle pendant 6 mois.
Attention
Une modification de la durée de rétention en cours de production n'aura aucun effet sur les sauvegardes déjà effectuées, elles seront conservées et recyclées mais sur la base de l'ancienne valeur, stockée dans la base de données.
Afin de prendre en compte la nouvelle valeur pour les sauvegardes suivantes, il faut utiliser les outils Bareos pour mettre à jour la base de données :
# bconsole
*update
*2
*<numéro du pool de volumes de sauvegarde>
Une autre solution consiste à vider le support de sauvegarde ou prendre un support de sauvegarde ne contenant aucun volume et à ré-initialiser la base de données Bareos avec la commande :
# bareosregen.sh
La regénération du catalogue de bareos va écraser l'ancienne base, confirmez-vous ? [oui/non]
[non] : oui
Paramètres supplémentaires
En mode expert d'autres paramètres sont disponibles.
La durée maximale pour l'exécution complète d'une sauvegarde permet d'annuler le job si il n’est pas terminé avant ce délai, exprimé en secondes, en comptant à partir de l’heure programmée. Par défaut le job est limité à 86 400 secondes soit 24 heures (la valeur 0 lève cette limite de temps).
Plus l'algorithme de compression est efficace, moins il nécessite d'espace mais plus il alourdit la charge système et allonge la durée du processus de sauvegarde. Deux algorithmes de compression sont proposés : GZIP et LZ4.
L'algorithme GZIP[93] permet plusieurs niveaux de compression de 1 à 9. Au delà de 6, le gain en place est faible par rapport aux niveaux immédiatement inférieurs, tandis que la durée de traitement s'allonge sensiblement.
L'algorithme LZ4[94] offre un taux de compression moindre que le niveau de compression 6 de GZIP mais est significativement plus rapide.
Remarque
L’utilisation de l’algorithme de compression LZ4 nécessite que Bareos ait été compilé avec le support de ce dernier. Dans le cas où Bareos n’aurait pas été compilé avec celui-ci, un message d’avertissement est émis au moment de la sauvegarde et aucune compression n’est effectuée. Les modules EOLE en version supérieure ou égale à 2.7.1 bénéficient d’une version de Bareos avec le support de LZ4 activé. Pour les autres clients, l’administrateur système doit s’assurer que ce support est également activé.
Le champ
Mot de passe du directeur
contient le mot de passe à transmettre aux applications distantes pour leur permettre de s'authentifier auprès du directeur.
Configuration du stockage
Le service de stockage gérant l'écriture des volumes de sauvegardes (bareos-sd ) peut être local ou distant, il est local par défaut. Dans ce cas aucun paramètre supplémentaire n'est à configurer dans cet onglet (Directeur Bareos
).
Dans le cas d'un serveur de stockage distant (Le gestionnaire du stockage est local
à non
), il faut configurer le nom, l'adresse IP et le mot de passe du serveur de stockage distant.
Pour autoriser des directeurs à se connecter au présent stockage des paramètres se trouvent dans l'onglet Stockage bareos
.
Attention
Certaines infrastructures nécessitent une dégradation des fonctionnalités des modules EOLE comme la désactivation des mises à jour automatiques pour que la sauvegarde distante fonctionne correctement.
Le déport du service bareos-sd
sur un autre serveur que bareos-dir
ne permet pas de gérer correctement les verrous des tâches d'administration sur ce serveur : bareos-dir
ne permet pas de signaler efficacement à bareos-sd
qu'une sauvegarde est lancée et qu'il doit poser un verrou empêchant les autres tâches d'administration.
Configuration de la sauvegarde de fichiers distants
La déclaration d’un client distant nécessite de fournir plusieurs informations obligatoires.
Identifiant du client distant
: identifiant interne unique utilisé pour distinguer la configuration du client, composé de lettres non accentuées et de chiffres ;Nom du client distant
: le nom du service bareos-fd tel que renseigné sur le serveur distant l’hébergeant ;Adresse du client distant
: l’adresse IP à laquelle ce client peut être joint ;Mot de passe du client distant
: le mot de passe, identique à celui déclaré sur le client distant (cf. configuration d’un client indépendant).
Remarque
L’activation du service de lecture/écriture de fichiers (file server, bareos-fd) sur le serveur lui-même pour sauvegarder les fichiers locaux s’effectue dans l’onglet Services
.
Onglet Stockage Bareos
L'onglet Stockage bareos
apparaît dans l'interface de configuration du module si le support de stockage de sauvegarde est activé dans l'onglet Services
(Activer le stockage de sauvegarde
à oui
).
L'onglet permet de configurer le nom du serveur de stockage et permet également d'autoriser des directeurs à se connecter au présent stockage.
Autoriser un ou plusieurs directeurs distants à se connecter
Pour autoriser un ou plusieurs directeurs distants à se connecter il faut cliquer sur + Nom du directeur Bareos distant
, le détail de l'autorisation s'affiche.
Pour ce faire il faut se munir des paramètres du directeur distant :
son nom ;
son adresse IP ;
son mot de passe.
Attention
Les sauvegardes sont des informations sensibles. Il ne faut pas utiliser de mot de passe facilement déductible.
Onglet Client bareos
L'onglet Clients bareos
apparaît dans l'interface de configuration du module si la sauvegarde des fichiers locaux est activée (Activer la sauvegarde des fichiers locaux
à oui
).
L'onglet permet de configurer le nom du serveur de sauvegarde des fichiers locaux.
Le service de lecture/écriture de fichiers (file server, bareos-fd) de Bareos, autrement appelé client, ne nécessite pas de configuration dans le cas où le directeur (service director, bareos-dir) est également activé localement.
Dans le cas où on souhaite que la sauvegarde des fichiers du serveur soit gérée par un directeur distant, il est nécessaire de désactiver le service director local en passant la variable Activer le directeur de sauvegarde
à non
puis d’activer le service file local en passant la variable Activer la sauvegarde des fichiers locaux
à oui
, en mode expert, dans l’onglet Services
.
À l’issue de cette manipulation, l’onglet Client Bareos
est disponible.

Dans l’onglet Client Bareos
, le service directeur distant est configuré au moyen de trois variables obligatoires :
l’adresse du directeur Bareos distant ;
le nom du directeur Bareos distant tel qu’il est défini dans la configuration du directeur dans l'onglet
Directeur bareos
;le mot de passe distant, identique à celui déclaré dans la configuration du directeur dans l'onglet
Directeur bareos
.
Attention
Les services Bareos partagent certaines variables de configuration et il faut veiller à la cohérence des valeurs entrées, notamment pour les noms des services et les mots de passe.
L'onglet Clients bareos
apparaît dans l'interface de configuration du module si la sauvegarde des fichiers locaux est activée (Activer la sauvegarde des fichiers locaux
à oui
).
L'onglet permet de configurer le nom du serveur de sauvegarde des fichiers locaux.
Le service de lecture/écriture de fichiers (file server, bareos-fd) de Bareos, autrement appelé client, ne nécessite pas de configuration dans le cas où le directeur (service director, bareos-dir) est également activé localement.
Dans le cas où on souhaite que la sauvegarde des fichiers du serveur soit gérée par un directeur distant, il est nécessaire de désactiver le service director local en passant la variable Activer le directeur de sauvegarde
à non
puis d’activer le service file local en passant la variable Activer la sauvegarde des fichiers locaux
à oui
, en mode expert, dans l’onglet Services
.
À l’issue de cette manipulation, l’onglet Client Bareos
est disponible.

Dans l’onglet Client Bareos
, le service directeur distant est configuré au moyen de trois variables obligatoires :
l’adresse du directeur Bareos distant ;
le nom du directeur Bareos distant tel qu’il est défini dans la configuration du directeur dans l'onglet
Directeur bareos
;le mot de passe distant, identique à celui déclaré dans la configuration du directeur dans l'onglet
Directeur bareos
.
Attention
Les services Bareos partagent certaines variables de configuration et il faut veiller à la cohérence des valeurs entrées, notamment pour les noms des services et les mots de passe.
Pour que les modifications soient prises en compte, une reconfiguration du module est nécessaire à l'aide de la commande reconfigure
.
Configuration depuis l'EAD
Une fois le stockage Bareos activé dans l'interface de configuration du module, il faut configurer le support de sauvegarde.
Le menu Sauvegardes
de l'EAD propose une interface simplifiée pour la configuration du support de sauvegarde et le paramétrage facultatif de l'envoi des rapports.
Configuration du support
Trois types de support de sauvegarde sont proposés :
SMB
Disque USB local
Configuration manuelle du support
Le point de montage du support est, dans les trois cas de figure : /mnt/sauvegardes
SMB : la sauvegarde se fait à travers un partage SMB[44].
Il est préférable de déporter le serveur de stockage Bareos plutôt que d'utiliser le protocole SMB[44].
Ce type de sauvegarde sera utilisé, par exemple, pour les NAS[45].
Les informations suivantes sont demandées :
-
Nom de machine de la machine distante
(n'accepte pas les majuscules) ; -
IP de la machine distante
; - le nom du
Partage
; - optionnellement le
Login
, leMot de passe
.
-

Attention
Les informations stockées dans les sauvegardes sont sensibles, il donc préférable de toujours authentifier l'accès aux partages contenant les données.
Disque USB local : la sauvegarde se fait sur un support nécessitant un montage (disque USB, disque interne, etc.), contrôlé avant chaque sauvegarde.
Le chemin d'accès à saisir correspond au nœud du périphérique (par exemple
/dev/hda1
,/dev/disk/by-label/LABEL
si un label est disponible sur le disque).Si le périphérique utilise un label

Attention
Méthode purement locale à la machine, cette méthode est donc sensible aux corruptions éventuelles du serveur.
Configuration manuelle du support : comme son nom l'indique elle permet à l'utilisateur de définir sa propre destination de sauvegarde via les outils Bareos. Ce choix correspond généralement à l'utilisation de lecteurs de bandes et s'intègre dans une stratégie de sauvegarde à plus grande échelle.
Le point de montage par défaut est toujours
/mnt/sauvegardes
. Le montage n'est pas contrôlé.
Le pilote est dépendant du matériel, le lecteur de bande doit être configuré manuellement.
Pour information, le fichier template concerné bareossupport.conf
est dans /usr/share/eole/creole/distrib/
Pour que la solution soit pérenne il est nécessaire de créer un patch EOLE[8].
Voir la documentation officielle de Bareos pour le paramétrage :
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-480004

Attention
Le support doit être monté sur /mnt/sauvegardes
et l'utilisateur bareos
doit avoir les droits en écriture :
# ls -l /mnt
# chown -R bareos:root /mnt/sauvegardes
Options de montage du support de sauvegarde
Truc & astuce
Il existe trois variables paramétrables DISTANT_LOGIN_MOUNT
, DISTANT_MOUNT
et USB_MOUNT
:
la ligne de commande permettant de monter un support distant avec authentification, la valeur par défaut de
DISTANT_LOGIN_MOUNT
est :/bin/mount -t cifs -o username={0},password={1},ip={2},uid={3},noexec,nosuid,nodev,vers=3.0 //{4}/{5} {6}
la ligne de commande permettant de monter un support distant sans authentification, la valeur par défaut de
DISTANT_MOUNT
est :/bin/mount -t cifs -o password={0},ip={1},uid={2},noexec,nosuid,nodev,vers=3.0 //{3}/{4} {5}
la ligne de commande permettant de monter un support USB :
Par défaut la valeur de la variable USB_MOUNT est :
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
- /bin/mount {0} {1} -o noexec,nosuid,nodev pour le reste.
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
Paramètres pour l'envoi de rapports
L'envoi de courriels est proposé si le directeur Bareos est activé sur le serveur.
EOLE offre la possibilité d'envoyer deux types de courriel :
- les rapports d'erreurs de Bareos ;
- les rapports de sauvegarde réussie.
Il est recommandé de définir les deux types d'envoi. Le premier type de rapport informe que la sauvegarde s'est mal déroulée, alors que le second informe qu'une sauvegarde s'est bien déroulée. Pensez à configurer correctement votre relai SMTP[46].
Truc & astuce
Il est possible de déclarer plusieurs destinataires en séparant les adresses par des virgules.
Exemple : admin@ac-dijon.fr,technicien@ac-dijon.fr
Configuration depuis l'EAD3
Le support de sauvegarde
Une fois le stockage Bareos activé dans l’interface de configuration du module, il faut configurer le support de sauvegarde.
Trois types de support de sauvegarde sont proposés :
manuel ;
USB ;
SMB.
Le type « aucun » veut dire que le support de sauvegarde n’est pas configuré.
Le point de montage du support est, dans les trois cas de figure : /mnt/sauvegardes/
Manuel
Comme son nom l’indique, il permet à l’utilisateur de définir sa propre destination de sauvegarde via les outils Bareos. Ce choix correspond généralement à l’utilisation de lecteurs de bandes et s’intègre dans une stratégie de sauvegarde à plus grande échelle.
Le pilote est dépendant du matériel, le lecteur de bande doit être configuré manuellement.
Pour informations, le fichier template concerné bareossupport.conf
est dans /usr/share/eole/creole/distrib/
Pour que la solution soit pérenne, il est nécessaire de créer un patch EOLE.
Voir la documentation officielle de Bareos pour le paramétrage : http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-480004
Le point de montage par défaut est toujours /mnt/sauvegardes/
.
Attention
Le montage n'est pas contrôlé.
Le support doit être monté sur /mnt/sauvegardes/
et l’utilisateur bareos
doit avoir les droits en écriture :
# ls -l /mnt
# chown -R bareos :root /mnt/sauvegardes
USB
Attention
Cette méthode est purement locale à la machine, elle est donc sensible aux corruptions éventuelles du serveur.
SMB
La sauvegarde se fait à travers un partage SMB[44].
Il est préférable de déporter le serveur de stockage Bareos plutôt que d’utiliser le protocole SMB.
Ce type de sauvegarde sera utilisé, par exemple, pour les NAS[45].
Les informations suivantes sont demandées :
Nom de machine du serveur SMB (n’accepte pas les majuscules) ;
IP du serveur SMB ;
Nom du partage SMB ;
Identifiant SMB ;
Mot de passe SMB.
Le directeur
L’envoi de courriers électroniques est proposé si le directeur Bareos est activé sur le serveur.
EOLE offre la possibilité d’envoyer deux types de courriel :
les rapports d’erreurs de Bareos : informe que la sauvegarde s'est mal déroulée ;
les rapports de sauvegarde réussie : informe qu'une sauvegarde s'est bien déroulée.
Il est recommandé de définir les deux types d’envoi. Pensez à configurer correctement votre relais SMTP[46].
Sauvegarde des fichiers locaux
Une fois le support de sauvegarde défini, il est possible de programmer un type de sauvegarde par périodicité.
EOLE propose trois périodicités et trois types de sauvegarde pour la programmation des sauvegardes :
Périodicité | Type de sauvegarde |
sauvegardes mensuelles | totale |
sauvegardes hebdomadaires | totale, différentielle, incrémentale |
sauvegardes quotidiennes | totale, différentielle, incrémentale |
En plus des périodicités proposées, il est possible de lancer une sauvegarde immédiate de type totale, différentielle ou incrémentale.
Seules les sauvegardes totales sont possibles dans le cas de la périodicité mensuelle.
Les sauvegardes mensuelles se font la première semaine du mois.
Si une autre sauvegarde est programmée la même nuit, celle-ci sera automatiquement reportée à la semaine d'après.
Les sauvegardes se programment pour une nuit de la semaine. Une nuit va de 12h à 11h59.
Pour les sauvegardes quotidiennes, il est possible de choisir une plage de jours.
Programmer les clients distants
Lorsque la sauvegarde de fichiers distants est activée dans l’interface de configuration du serveur, il est possible de définir la fréquence de sauvegarde des fichiers dans l’action « Programmer les clients distants ».
Chaque serveur distant a un bloc de configuration qui lui est propre. Voici par exemple la configuration du serveur « test » :
Fichiers complémentaires
La liste des fichiers locaux sauvegardés par l’outil de sauvegarde d’EOLE est défini dans la configuration du serveur et dépend des services utilisés. Il peut être nécessaire d’ajouter des répertoires complémentaires en cas de création des données dans un répertoire non prévu.
L’action « fichiers complémentaires » permet d’ajouter des répertoires nouveaux à sauvegarder.
Il est possible de configurer des répertoires nouveaux à sauvegarder. Si nécessaire, il est possible d’exclure un sous-répertoire dont les données ne sont pas pertinentes. Enfin, il est possible d’exclure une liste de fichier de la sauvegarde en définissant une expression rationnelle.
Il est à noter que cette action permet de configurer aussi bien les fichiers locaux que distant.
Exécuter une sauvegarde ponctuelle
L’exécution d’une sauvegarde ne peut être réalisée que lorsque l’espace de stockage de la sauvegarde est correctement configuré. La configuration de l’espace de stockage s'effectue dans l’action « Configuration de la sauvegarde ».
Cette action permet de sauvegarder les données d’un serveur. Si la sauvegarde des fichiers locaux et la sauvegarde de fichiers distant sont activées dans la configuration du serveur, il est nécessaire de choisir entre une sauvegarde local ou distante.
En cas de sauvegarde distante, la sélection du serveur distant est obligatoire.
La sauvegarde est, par défaut, exécutée immédiatement. Il est néanmoins possible de sélectionner une date et une heure différente.
Configuration depuis la ligne de commande
Il n'est pas nécessaire de passer par l'EAD pour configurer le support de sauvegarde.
L'ensemble des paramétrages peut être réalisé avec le script bareosconfig.py
.
Les informations définies dans l'EAD sont modifiables en ligne de commande et inversement.
Configuration du support
- Si le support est un partage SMB :
# bareosconfig.py -s smb --smb_machine=nom_machine --smb_ip=adresse_ip --smb_partage=nom_du_partage --smb_login=login --smb_password=mot_de_passe
- Si le support est un disque USB local :
# bareosconfig.py -s usb --usb_path=/dev/device_usb
- Si le support est un disque USB local avec un label :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
- Si le support est à configurer manuellement :
# bareosconfig.py -s manual
Vous devez ensuite configurer le support dans le fichier template /usr/share/eole/creole/distrib/bareossupport.conf
Pour que la solution soit pérenne il est nécessaire de créer un patch EOLE[8].
Attention
nom_machine
ne doit pas comporter de majuscule
Truc & astuce
Pour tester le support de sauvegarde (USB local ou SMB), il est possible d'utiliser le script bareosmount.py
:
# bareosamount.py -t
Test de montage OK
Attention
En USB le numéro du périphérique dans /dev
peut changer selon si un autre périphérique est connecté au serveur.
Truc & astuce
Une astuce consiste à utiliser un label pour identifier de façon plus certaine le périphérique utilisé.
Pour donner un label au périphérique :
# tune2fs -L Sauvegardes /dev/sdX
Pour configurer le support de sauvegarde sur le périphérique USB :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/Sauvegardes
Options de montage du support de sauvegarde
Truc & astuce
Il existe trois variables paramétrables DISTANT_LOGIN_MOUNT
, DISTANT_MOUNT
et USB_MOUNT
:
la ligne de commande permettant de monter un support distant avec authentification, la valeur par défaut de
DISTANT_LOGIN_MOUNT
est :/bin/mount -t cifs -o username={0},password={1},ip={2},uid={3},noexec,nosuid,nodev,vers=3.0 //{4}/{5} {6}
la ligne de commande permettant de monter un support distant sans authentification, la valeur par défaut de
DISTANT_MOUNT
est :/bin/mount -t cifs -o password={0},ip={1},uid={2},noexec,nosuid,nodev,vers=3.0 //{3}/{4} {5}
la ligne de commande permettant de monter un support USB :
Par défaut la valeur de la variable USB_MOUNT est :
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
- /bin/mount {0} {1} -o noexec,nosuid,nodev pour le reste.
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
Paramètres pour l'envoi de rapports
La configuration de l'adresse courriel se fait de la façon suivante :
# bareosconfig.py -m --mail_ok=adresse_courriel --mail_error=adresse_courriel
Les paramètres --mail_ok et --mail_error ne sont pas obligatoires.
Afficher la configuration
Il est possible de lister l'ensemble des paramètres depuis la ligne de commande avec la commande bareosconfig.py
:
# bareosconfig.py -d
Support : {'usb_path': '/dev/sdb1', 'support_type': 'usb'}
Mail : {'mail_error': [], 'mail_ok': []}
Programmation :
Aucun job programmé.
Programmation des sauvegardes
Une fois le support de sauvegarde défini, il est possible de programmer un type de sauvegarde par périodicité.
Cette programmation se fait soit par l'EAD soit depuis la ligne de commande.
EOLE propose trois périodicités et trois types de sauvegarde pour la programmation des sauvegardes :
Périodicité | Type de sauvegarde |
sauvegardes mensuelles | totale |
sauvegardes hebdomadaires | totale, différentielle, incrémentale |
sauvegardes quotidiennes | totale, différentielle, incrémentale |
En plus des périodicités proposées, il est possible de lancer une sauvegarde immédiate de type totale, différentielle ou incrémentale.
Seules les sauvegardes totales sont possibles dans le cas de la périodicité mensuelle.
Les sauvegardes mensuelles se font la première semaine du mois.
Si une autre sauvegarde est programmée la même nuit, celle-ci sera automatiquement reportée à la semaine d'après.
Les sauvegardes se programment pour une nuit de la semaine. Une nuit va de 12h à 11h59.
Pour les sauvegardes quotidiennes, il est possible de choisir une plage de jours.
Programmation depuis l'EAD
Programmation depuis la ligne de commande
Pour ajouter une nouvelle programmation, il faut connaître les paramètres suivants :
- choix de la périodicité : quotidienne → daily, hebdomadaire → weekly ou mensuelle → monthly ;
- le type : totale → Full, différentielle → Differential ou incrémentale → Incremental ;
- le jour de la semaine : de 1 (pour la nuit de dimanche à lundi) à 7 (pour la nuit du samedi à dimanche) ;
- en cas de sauvegarde quotidienne, éventuellement le jour de fin : de 1 à 7 ;
- l'heure de la sauvegarde : de 0 à 23, sachant que la nuit commence à 12h et fini à 11h le lendemain
Exemple pour ajouter une programmation de sauvegarde depuis la ligne de commande :
# bareosconfig.py -j daily --job_level=Incremental --job_day=2 --job_end_day=5 --job_hour=22
Les programmations ajoutées depuis la ligne de commande sont également visibles dans l'EAD.
Il est également possible de lancer une sauvegarde immédiate.
Il est nécessaire de choisir le type de sauvegarde totale (Full), différentielle (Differential) ou incrémentale (Incremental)).
Si aucune sauvegarde n'a été effectuée préalablement sur le serveur, la première sauvegarde sera automatiquement une sauvegarde totale.
Pour effectuer une sauvegarde immédiate, il faut exécuter la commande suivante :
# bareosconfig.py -n --level=Full
Il est possible de suivre l'évolution de la sauvegarde dans le fichier /var/log/rsyslog/local/bareos-dir/bareos-dir.info.log
.
Les éventuelles erreurs sont enregistrées dans le fichier /var/log/rsyslog/local/bareos-dir/bareos-dir.err.log
.
Truc & astuce
bareosconfig.py --help donne la liste des options de bareosconfig.py
Il existe également des pages de manuel :
man bareos, man bareos-dir, ...
Afficher la configuration
Il est possible de lister l'ensemble de la configuration depuis la ligne de commande avec la commande bareosconfig.py
:
# bareosconfig.py -d
Support : {'usb_path': '/dev/sdb1', 'support': 'usb'}
Mail : {}
Programmation :
1 : Sauvegarde totale dans la première nuit du mois du mercredi au jeudi à 02:00
2 : Sauvegarde incrémentale de la nuit du lundi au mardi à la nuit au vendredi à 22:00
3 : Sauvegarde totale dans la première nuit du mois du lundi au mardi à 21:00
Supprimer un job
Il est possible de supprimer un job depuis la ligne de commande grâce à la commande bareosconfig.py
. Elle s'utilise comme suit :
# bareosconfig.py -x <numéro_job>
ou encore :
# bareosconfig.py --job_to_delete=<numéro_job>
La restauration des sauvegardes EOLE
Avec l’introduction de la sauvegarde de fichiers distants, deux cas de figure se présentent pour la restauration. La restauration des sauvegardes des fichiers locaux est toujours possible grâce à l’utilitaire en ligne de commande bareosrestore.py comme décrit dans la suite de cette partie.
La restauration des sauvegardes des clients distants est, quant à elle, accessible via la console bareos bconsole ou l'application web bareos-webui. L’utilisation de la console bareos bconsole n’est pas couverte dans cette documentation mais dans la documentation officielle du produit (en anglais uniquement). L’utilisation de l’application web bareos-webui pour la restauration fait l’objet d’une section dans la partie consacrée à bareos-webui.
La restauration peut être :
complète, elle va restaurer l'ensemble des bases de données, l'annuaire, les quotas, ... ainsi que l'ensemble des fichiers sauvegardés.
partielle, elle peut restaurer l'ensemble ou une partie des fichiers sauvegardés.
Restauration complète
Attention
La restauration d'un serveur s'effectue toujours sur un serveur instancié.
Préparation du serveur avant restauration
Mise à jour
Idéalement, le niveau de mise à jour du serveur avant restauration doit être identique au à celui du serveur sauvegardé.
Mettre à jour les paquets :
Maj-Auto
Choix du mode conteneur ou non
Si le serveur sauvegardé était en mode conteneur, il faut re-créer les conteneurs, avec la commande gen_conteneurs
.
Configurer Bareos
si le serveur est enregistré dans Zéphir, il faudra redescendre la configuration en ré-enregistrant le serveur avec la commande
enregistrement_zephir
;si le serveur n'est pas enregistré dans Zéphir, il sera nécessaire de récupérer la sauvegarde de la configuration sur le support de sauvegarde.
Configuration de Bareos pour un serveur non enregistré dans Zéphir
# bareosconfig.py -s usb --usb_path=/dev/device_usb
Configuration de Bareos pour un serveur non enregistré dans Zéphir avec le label du périphérique
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
Il est normal d'avoir le message suivant lors de l'utilisation de
bareosconfig.py
:Fichier template /var/lib/creole/bareossupport.conf inexistant
Il peut être utile de configurer l'envoi des courriels en même temps que le support de sauvegarde.
# bareosconfig.py -m --mail_ok=mailok@ac-dijon.fr --mail_error=mailerror@ac-dijon.fr
Paquets additionnels
Pour les paquets additionnels ajoutés sur l'ancien serveur (eole-ejabberd
par exemple) il est impératif que le paquet soit installé sur le serveur au moment où on exécute la restauration.
si le serveur était enregistré sur un serveur Zéphir, les paquets additionnels déclarés sont installés à la fin de l'enregistrement auprès du serveur Zéphir ;
dans le cas d'une installation isolée, il est judicieux de réinstaller les paquets avant d'instancier le serveur.
Truc & astuce
Si l'ancien serveur est toujours accessible, il est possible de lister l'ensemble des paquetages installés grâce à la commande :
# dpkg --get-selections
Il est possible de filtrer uniquement les paquets préfixé par eole-
:
# dpkg --get-selections | grep eole-
La liste des paquets peut être exportée dans un fichier pour être transférée sur une autre machine :
# dpkg --get-selections > paquetages.txt
Récupération de la liste précédente :
# dpkg --set-selections < paquetages.txt
Installation des paquets de la liste :
# apt-get dselect-upgrade
Remarque
Pour avoir plus d'informations (version, architecture et descriptif) sur les paquets installés il est possible d'utiliser l'option -l
# dpkg -l | grep eole
Montage du support
Une fois que le serveur est enregistré dans Zéphir ou que le support est configuré, il faut monter le support de sauvegarde :
# bareosmount.py --mount
Montage OK
Extraire le fichier config.eol de la sauvegarde
Pour extraire le fichier config.eol
de la sauvegarde il est nécessaire de connaître le nom du directeur.
Le nom du directeur est, par défaut, de la forme : nom_du_module-dir (par exemple : scribe-dir).
Si vous ne vous souvenez plus du nom du directeur de votre serveur, il suffit de regarder le contenu du support de sauvegarde :
# ls /mnt/sauvegardes/*-catalog-0003
/mnt/sauvegardes/amonecole-dir-catalog-0003
Le directeur est dans ce cas amonecole-dir.
# bareosrestore.py --configeol amonecole-dir
Le fichier config.eol
extrait est enregistré dans /root/zephir-restore.eol
.
Instance
Avant toute chose, il faut déplacer et renommer le fichier de configuration :
# mv /root/zephir-restore.eol /etc/eole/config.eol
Instancier maintenant votre serveur avec la commande : instance
Si vous avez enregistré votre serveur sur Zéphir, il est possible d'utiliser directement le fichier de configuration zephir.eol
À l'étape de Postconfiguration, sauf besoin exceptionnel il ne faut pas réinitialiser le catalogue :
Le catalogue Bareos a déjà été initialisé, voulez-vous le réinitialiser ? [oui/non]
Ne pas tenir compte du message d'erreur suivant :
ERREUR : /var/lib/eole/config/shedule.conf not exist
Récupération du catalogue
Pour récupérer le catalogue de sauvegarde il est nécessaire de connaître le nom du directeur.
Le nom du directeur est, par défaut, de la forme : nom_du_module-dir (par exemple : scribe-dir).
Si vous ne vous souvenez plus du nom du directeur de votre serveur, il suffit de regarder le contenu du support de sauvegarde :
# ls /mnt/sauvegardes/*-catalog-0003
/mnt/sauvegardes/amonecole-dir-catalog-0003
Le directeur est dans ce cas amonecole-dir.
Lancer la récupération du catalogue :
# bareosrestore.py --catalog
Restauration du catalog
Pas de fichier /var/lib/eole/config/bareosjobs.conf dans le volume nom_du_directeur-catalog-0003
Pas de fichier /etc/eole/bareos.conf dans le volume nom_du_directeur-catalog-0003
Les messages concernant l'absence de certains fichiers sont normaux.
Le répertoire /var/lib/bareos/
doit contenir :
- nom_du_directeur-JobDefsCatalog.bsr
- nom_du_directeur-JobDefsSauvegarde.bsr
- bareos.sql
Démontage du support
Pour démonter le support de sauvegarde :
# bareosmount.py --umount
Restauration
Avant de lancer la restauration il est préférable de vérifier que le chemin du nœud du périphérique est toujours bon.
Il peut changer en fonction du nombre de périphériques connectés :
# bareosmount.py -t
Si le périphérique n'a plus le même nœud la commande bareosmount.py
renvoie :
ERREUR : le périphérique /dev/sdb1 n'existe pas
Il faut alors changer la configuration du support :
# bareosconfig.py -s usb --usb_path=/dev/device_usb
ou si le disque a un label :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
Le test de montage doit renvoyer OK :
# bareosmount.py -t
Test de montage OK
Lister l'ensemble de la configuration :
# bareosconfig.py -d
La restauration complète du serveur va restaurer l'ensemble des bases de données, l'annuaire, les quotas, ... ainsi que l'ensemble des fichiers sauvegardés.
Pour ce faire il faut utiliser la commande bareosrestore.py
:
# bareosrestore.py --all
Truc & astuce
Il est possible de suivre l'évolution des restaurations dans le fichier de log : /var/log/bareos/restore.txt
Les informations peuvent mettre un peu de temps avant d'apparaître car Bareos ne les "flush" pas tout de suite dans son fichier de log.
Si rien n'apparaît dans un délai raisonnable il faut vérifier le chemin du nœud du périphérique.
Lorsque la restauration complète est terminée, il faut re-configurer votre serveur à l'aide de la commande reconfigure
.
Restauration partielle
Rechercher un fichier à restaurer
Pour rechercher un fichier ou un répertoire dans le support de sauvegarde (sur la dernière sauvegarde uniquement), on utilise l'option
--search
:
# bareosrestore.py --search nom_du_fichier
Il est possible d'utiliser les caractères ?
ou *
pour remplacer respectivement un ou plusieurs caractères en l'échappant de la façon suivante :
# bareosrestore.py --search nom_du_\*
Il est également possible de lister le contenu d'un répertoire sauvegardé avec l'option --ls_folder
:
# bareosrestore.py --ls_folder /etc/eole
liste du contenu de /etc/eole
config.eol
Restauration d'un fichier ou d'un répertoire
Pour restaurer un fichier de la dernière sauvegarde, on peut utiliser la commande :
# bareosrestore.py --file /chemin_absolu/nom_du_fichier
Exemple :
# bareosrestore.py --file /etc/eole/config.eol
Pour restaurer un répertoire et l'intégralité de son contenu, on peut utiliser la commande :
# bareosrestore.py --folder /chemin_absolu/nom_du_répertoire
Exemple :
# bareosrestore.py --folder /usr/share/ead2/backend/config
Restauration de l'ensemble des fichiers sauvegardés
Pour restaurer l'ensemble des fichiers sauvegardés, il est possible d'utiliser la commande :
# bareosrestore.py --all_files
Restauration spécifique
Les bases de données, les quotas, l'annuaire, ... ne sont pas sauvegardés sous forme de fichiers binaires.
Ils sont extraits avant la sauvegarde.
Pour restaurer, il existe une procédure particulière, différente suivant l'application.
Pour connaître les possibilités, faire :
# bareosrestore.py --help
Exemple
Pour restaurer l'annuaire :
# bareosrestore.py --ldap
Restauration manuelle
Avant de lancer la restauration il est préférable de vérifier que le chemin du nœud du périphérique est toujours bon.
Il peut changer en fonction du nombre de périphériques connectés :
# bareosmount.py -t
Si le périphérique n'a plus le même nœud la commande bareosmount.py
renvoie :
ERREUR : le périphérique /dev/sdb1 n'existe pas
Il faut alors changer la configuration du support :
# bareosconfig.py -s usb --usb_path=/dev/device_usb
ou si le disque a un label :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
Le test de montage doit renvoyer OK :
# bareosmount.py -t
Test de montage OK
Lister l'ensemble de la configuration :
# bareosconfig.py -d
La restauration manuelle s'effectue au moyen d'un programme en ligne de commande, bconsole
:
# bconsole
Il est possible de spécifier le fichier de configuration :
#
bconsole -c /etc/bareos/bconsole.conf
Une fois bconsole démarré, il est possible d'abandonner la procédure à tout moment en quittant la console avec la commande quit
, done
ou avec les touches ctrl + c
.
Le prompt de bconsole est une étoile.
Exemple
Dans cet exemple nous verrons comment restaurer le fichier /home/a/admin/perso/icones.url
.
Dans bconsole, taper la commande restore qui indique à bconsole d'initialiser une restauration :
*restore
Il est possible de choisir directement le support de sauvegarde des fichiers, ce qui évite d'avoir à le choisir par la suite, pour cela utiliser la commande suivante (attention aux majuscules/minuscules et à la saisie sans accents) :
*restore fileset=FileSetSauvegarde
Vous avez alors plusieurs choix :
To select the JobIds, you have the following choices:
[...]
Les plus pertinents sont :
Depuis que l'utilisateur a supprimé le fichier le système n'a effectué que des sauvegardes incrémentales alors le fichier est toujours présent dans la sauvegarde, choisissez la sauvegarde la plus récente pour un client :
5: Select the most recent backup for a client (sélectionner la sauvegarde réussie la plus récente)
Depuis que l'utilisateur a supprimé le fichier le système a effectué une sauvegarde complète (Full) alors le fichier n'est présent que dans les sauvegardes précédant la sauvegarde complète, sélectionner la dernière sauvegarde pour un client avant une certaine date et entrez une date antérieure à la dernière sauvegarde complète :
6: Select backup for a client before a specified time (sélectionner la dernière sauvegarde réussie avant une date spécifiée)
La console propose trois options :
The defined FileSet ressources are :
1 : FileSetCatalog
2 : FileSetDefault
3 : FileSetSauvegarde
Il faut ensuite choisir le support de sauvegarde des fichiers (et non celui du catalogue) :
3 : FileSetSauvegarde
Un prompt apparaît et permet de naviguer dans l'arborescence des sauvegardes :
cwd is : /
$ ls
etc/
home/
root/
usr/
var/
$ cd /home/a/admin/perso
Il faut marquer les fichiers/dossiers à restaurer avec la commande mark
(attention, la commande mark est récursive) :
$ mark
icones.url
1 file marked.
Pour "dé-marquer" un fichier marqué par erreur :
$ unmark
icones.url
1 file unmarked.
Lorsque les fichiers et les dossiers à restaurer sont sélectionnés, passer à l'étape suivante avec la commande :
$
done
bconsole propose plusieurs options, il faut choisir le job de restauration, ici l'option numéro 3 :
3: Restore_file
On obtient alors le message suivant :
Bootstrap records written to /var/lib/bareos/xxxxxxxxx.restore.2.bsr
[...]
Ok to run ? (yes/mod/no) :
La restauration peut maintenant être lancée en répondant yes
à la question.
Il ne sera plus possible d'abandonner après cette étape.
OK to run? (yes/mod/no): yes
La restauration est alors placée dans une file d'attente. Le numéro JobId
est affiché à l'écran.
Il est possible de changer les paramètres de restauration en répondant mod
à la question :
OK to run? (oui/mod/non): mod
Parameters to modify :
1 : Level
2 : Storage
[...]
Par exemple pour restaurer dans un autre répertoire, il faut choisir Where
(9 dans le cas présent) et saisir le chemin de la restauration :
9 : Where
Please enter path prefix for restore (/ for none) :
/home/restauration
Ok to run ? (yes/mod/no) : yes
La restauration est alors placée dans une file d'attente. Le numéro JobId
est affiché à l'écran.
Pour quitter la console :
* quit
Truc & astuce
Il est possible de suivre l'évolution des restaurations dans le fichier de log : /var/log/bareos/restore.txt
Les informations peuvent mettre un peu de temps avant d'apparaître car Bareos ne les "flush" pas tout de suite dans son fichier de log.
Si rien n'apparaît dans un délai raisonnable il faut vérifier le chemin du nœud du périphérique.
Attention
Pour conserver les droits étendus associés à un fichier (ACL), il faut restaurer un fichier issu d'une partition avec ACL (par exemple le répertoire /home
sur le module Scribe) dans une partition supportant les ACL.
La consultation des rapports de sauvegarde
Les rapports de sauvegarde sont disponibles à plusieurs endroits dans les interfaces d’administration.
Consultation du journal du directeur
Le directeur consigne la plupart de ces actions dans un journal qu’il est possible de consulter via l’utilitaire en ligne de commande bconsole, le système de journalisation ou via l’EAD3.
Dans la catégorie Sauvegarde
, l’action Rapport de sauvegarde
permet de consulter le contenu du fichier /var/lib/eole/reports/rapport-bareos.txt
, rempli par l’utilitaire en ligne de commande bconsole.

L’action ne propose pas d’autres contrôle que le rafraîchissement qui qui déclenche la relecture du fichier /var/lib/eole/reports/rapport-bareos.txt
. La lecture du fichier est automatiquement déclenchée au démarrage de l’action.
Écran
Consultation des rapports dans l'interface bareos-webui
Dans la catégorie Sauvegarde
, l’action Afficher l’état des sauvegardes
permet d’ouvrir l’application web bareos-webui pour consulter les rapports des différents éléments contrôlés par le directeur.

L’authentification n’est pas unifiée et il est obligatoire de s’identifier avec l’un des comptes définis dans la phase de configuration de l’application bareos-webui.
Remarque
L’application bareos-webui est une application tierce qui ne bénéficie pas d’une documentation exhaustive dans le cadre de cette documentation.
Ajouter des données à sauvegarder
Il est tout à fait possible d'ajouter des fichiers et/ou des répertoires à sauvegarder à ceux déjà configurés par défaut sur un module.
Pour cela il faut ajouter un fichier de configuration portant l'extension .conf
dans le répertoire /etc/bareos/bareosfichiers.d/
Celui-ci ne doit comporter que les directives Include
et Exclude
, il ne faut pas, par exemple, spécifier le Name
du FileSet car il est déjà défini dans le reste de la configuration.
Exemple d'un fichier de configuration pour la prise en charge de nouvelles données à sauvegarder :
Include {
Options {
# Sauvegarde des ACL
aclsupport = yes
# Tous les fichiers seront chiffrés en SHA1
signature = SHA1
# Compression des fichiers (niveau de com
pression croissant de 0 à 9)
compression = GZIP6
# Permet de sauvegarder plusieurs systèmes de fichiers
onefs = yes
}
File = /chemin/du/repertoire/ou/du/fichier/a/sauvegarder
File = /chemin/du/repertoire/ou/du/fichier/a/sauvegarder
}
Exclude {
File = /chemin/du/repertoire/ou/du/fichier/a/ignorer
File = /chemin/du/repertoire/ou/du/fichier/a/ignorer
}
Pour sauvegarder les fichiers d'un conteneur il faut préciser le chemin complet du fichier, par exemple :
File = /var/lib/lxc/reseau/rootfs/var/www/html/fichier
Les autres options pour la ressource FileSet sont consultables dans la documentation officielle du projet Bareos :
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1030008.5
Attention
Pour que l'ajout d'un fichier de configuration soit pris en compte par Bareos il faut procéder à la reconfiguration du module avec la commande reconfigure
.
Réinitialisation de la sauvegarde
Pour réinitialiser la sauvegarde il faut vider le support de sauvegarde ou prendre un support de sauvegarde ne contenant aucun volume et surtout il faut ré-initialiser la base de données de Bareos.
Pour ce faire il faut utiliser la commande suivante :
# bareosregen.sh
La régénération du catalogue de la sauvegarde va écraser l'ancienne base, confirmez-vous ? [oui/non]
[non] : oui
bareos-webui : outil d'administration pour Bareos
bareos-webui est un logiciel libre écrit en PHP (basé sur Zend Framework), destiné à surveiller et à gérer les sauvegardes Bareos au travers d'une application web.
L'interface web permet l'utilisation de plusieurs comptes pour gérer les sauvegardes et afficher les informations détaillées sur les jobs, les clients, groupes de fichiers, Pools, Volumes, stockages, Directeur, Scheduler et les journaux.
Installation
bareos-webui s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-bareoswebui
Remarque
Le paquet est pré-installé sur les modules Scribe, Horus et AmonEcole.
Configuration
Dans l'onglet Applications web
, il faut passer Activer Bareos WebUI (gestion de la sauvegarde)
à oui
.
Un nouvel onglet Bareos webui
apparaît dans l'interface de configuration du module.
Il est possible de créer un ou plusieurs comptes autorisés à se connecter à l'interface bareos-webui en cliquant sur le bouton + Utilisateur autorisé à se connecter à l'interface web de gestion de la sauvegarde
.
Le mot de passe de la base de données peut éventuellement être personnalisé mais par défaut il est généré automatiquement. Une fois la configuration enregistrée, il ne sera plus possible de le modifier.
Remarque
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/bareos-webui/
ou utiliser l’action depuis l’EAD3.
L'authentification se fait obligatoirement avec les comptes déclarés dans l'interface de configuration du module.
Restauration des fichiers des clients distants
Bareos Webui est l’application graphique conseillée pour la restauration des fichiers des clients distants.
La restauration est possible depuis l’onglet Restauration
. Cet onglet propose une série de paramètres pour la restauration sous la forme de champs de saisie sur la gauche et une vue arborescente des fichiers disponibles à la restauration dans la plus grande partie de la vue, à droite.
Écran
- 1
- 2
- 3
- 4
- 5
- 6
Sélection de l’emplacement cible
Un champ de saisie libre permet d’indiquer l’emplacement cible de la restauration. Pour restaurer les fichiers à leur place, il convient d’indiquer la racine du système de fichier (
/
). - 7
Sélection des fichiers à restaurer
Un arbre permet de sélectionner les fichiers à restaurer parmi ceux déclarés dans la sauvegarde.
Désactivation
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Diagnostic, rapport et résolution de problème
Outils de diagnostic et rapport
Les outils de diagnostic et de rapport proposés pour évaluer le bon fonctionnement de la sauvegarde sont passifs ou actifs. Passifs, sous la forme de courriers électroniques qui peuvent être envoyés en cas d’échec ou de réussite des sauvegardes. Actifs, sous la forme d’interfaces à consulter.
Les informations transmises par courrier électronique sont multiples. Elles concernent le déroulement de la sauvegarde et les messages émis par les scripts validation de l’infrastructure de sauvegarde.
Ces scripts vérifient notamment les droits et la place disponible sur le support de sauvegarde.
En plus de l'envoi de courrier électronique, il est possible de connaître l'état de la dernière sauvegarde en utilisant la commande diagnose
.
Celle-ci liste également l'état des différents services de Bareos, l’espace disque utilisé et une estimation de la possibilité d’effectuer une nouvelle sauvegarde en fonction de l’espace disponible.

L'EAD permet également de connaître l'état de la dernière sauvegarde depuis sa page d'accueil.
Le détail de la sauvegarde est disponible en cliquant sur Afficher le rapport
.
Par contre, pour voir l'état des différents services Bareos il faut se rendre à la rubrique ETAT DES SERVICES
de la page d'accueil et cliquer sur DETAILS
de la rubrique Services
, puis sélectionner État des démons bareos
.
Si l'un des services est arrêté, il est possible de le relancer à l'aide de la commande service
:
# service bareos-dir restart
* Restarting Bareos Director bareos-dir ... [ OK ]
Dans la rubrique ETAT DES SERVICES
de la page d’accueil et cliquer sur DETAILS
de la rubrique Utilisation
, puis sélectionner Sauvegarde
pour obtenir les informations fournies par ailleurs dans le diagnose.
Écran
- 1
- 2
- 3
Tester le support de sauvegarde
Pour tester le support de sauvegarde USB local ou SMB, il est possible d'utiliser le script bareosmount.py
.
Exemple
root@scribe:~# bareosmount.py -t
Test de montage OK
root@scribe:~#
Exemple
root@scribe:~# bareosmount.py -t
Problème de montage (1 essais restants)
ERREUR : périphérique /dev/sda1 non reconnu
Problème de montage (0 essais restants)
ERREUR : périphérique /dev/sda1 non reconnu
Échec du test de montage :
point de montage : Erreur
permissions : Erreur
montage : Erreur
root@scribe:~#
Exemple
root@scribe:~# bareosmount.py -t
Problème de montage (1 essais restants)
[Errno 32] mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Problème de montage (0 essais restants)
[Errno 32] mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Échec du test de montage :
point de montage : Erreur
permissions : Erreur
montage : Erreur
root@scribe:~#
Espace disque insuffisant pour la sauvegarde
L’un des principes de fonctionnement de Bareos est de conserver autant que possible les données sauvegardées. Il privilégie la création de nouveaux volumes au recyclage des anciens tant qu’il a la place pour le faire. De ce fait, il consomme tout l’espace disponible sauf indication contraire dans la configuration. Une fois l’espace disque consommé, il recyclera les volumes pouvant l’être.
Les problèmes d’espace disque peuvent apparaître lorsque l’espace disque est consommé et qu’aucun volume n’est recyclable.
Deux indicateurs permettent de prévenir les problèmes éventuels d’espace disque :
le pourcentage d’espace disque utilisé en terme de taille et de nombre de nombre de fichiers ;
l’estimation de l’espace disponible pour la prochaine sauvegarde.
Dans le cas où les indicateurs alerteraient sur le manque d’espace disque, plusieurs solutions peuvent être envisagées, individuellement ou en combinaison :
l’augmentation de l’espace disque alloué à la sauvegarde ;
l’adaptation (à la baisse) des durées de rétention des volumes ;
l’adaptation du niveau de compression.
la diminution du nombre de fichiers à sauvegarder, en excluant certains dossiers et/ou fichiers en appliquant un patch sur la définition des FileSet ;
Base de donnée sqlite de Bareos irrécupérable
Lors d'un incident sur l'un des modules EOLE la base de donnée sqlite de Bareos peut être irrécupérable.
Il est possible de restaurer des données sans la base de données avec les commandes bls
et bextract
.
Inspiré de l'article suivant : https://pipposan.wordpress.com/2010/06/09/bacula-tape-restore-without-database/
Truc & astuce
Il est également possible de réaliser la récupération avec la commande bconsole
.
Montage du support de sauvegarde et affichage des volumes par date
La commande ls -lrt
permet de trier l'affichage des volumes par date :
root@srv-scribe:~# ls -lrt /mnt/sauvegardes/
On voit une sauvegarde FULL le 06/06/2015 (de nombreux volumes de 2Go ont la même date) :
-rw-r----- 1 bareos root 1999997379 2015-06-06 02:02 ScribeVolume0044
-rw-r----- 1 bareos root 1999936662 2015-06-06 02:05 ScribeVolume0068
-rw-r----- 1 bareos root 1999936707 2015-06-06 02:09 ScribeVolume0045
[...]
-rw-r----- 1 bareos root 1999936658 2015-06-06 04:34 ScribeVolume-0241
-rw-r----- 1 root root 1999936613 2015-06-06 04:38 ScribeVolume-0302
Utilisation de la commande bsl
root@srv-scribe:~# bls -j -V ScribeVolume0044 /mnt/sauvegardes
bls: butil.c:282 Using device: "/mnt/sauvegardes" for reading.
15-jun 16:38 bls JobId 0: Prêt à lire les données du volume « ScribeVolume0044 » depuis le device "FileStorage" (/mnt/sauvegardes).
Volume Record: File:blk=0:208 SessId=103 SessTime=1427205136 JobId=1 DataLen=173
End Job Session Record: File:blk=0:603258940 SessId=103 SessTime=1427205136 JobId=3381
Date=03-jun-2015 02:08:39 Level=I Type=B Files=13,342 Bytes=752,617,191 Errors=0 Status=T
Begin Job Session Record: File:blk=0:603259372 SessId=104 SessTime=1427205136 JobId=3382
Job=BackupCatalog.2015-06-03_02.00.00_48 Date=03-jun-2015 02:12:24 Level=I Type=B
End Job Session Record: File:blk=0:603259372 SessId=104 SessTime=1427205136 JobId=3382
Date=03-jun-2015 02:12:24 Level=I Type=B Files=0 Bytes=0 Errors=0 Status=T
[...]
Begin Job Session Record: File:blk=0:1308041742 SessId=109 SessTime=1427205136 JobId=3387
Job=Complet.2015-06-06_02.00.00_53 Date=06-jun-2015 02:00:12 Level=F Type=B
15-jun 15:54 bls JobId 0: Fin de Volume au fichier 0 sur le Device "FileStorage" (/mnt/sauvegardes), Volume « ScribeVolume0044 »
15-jun 15:54 bls JobId 0: Fin de tous les Volumes.
Le Job du 06/06/2015 a SessId=109 et SessTime=1427205136. Ainsi que le Job du dernier volume en date du 06/06/2015
root@srv-scribe:~# bls -j -V ScribeVolume-0302 /mnt/sauvegardes
bls: butil.c:282 Using device: "/mnt/sauvegardes" for reading.
15-jun 15:59 bls JobId 0: Prêt à lire les données du volume « ScribeVolume-0302 » depuis le device "FileStorage" (/mnt/sauvegardes).
Volume Record: File:blk=0:209 SessId=109 SessTime=1427205136 JobId=33 DataLen=174
15-jun 16:00 bls JobId 0: Fin de Volume au fichier 0 sur le Device "FileStorage" (/mnt/sauvegardes), Volume « ScribeVolume-0302 »
15-jun 16:00 bls JobId 0: Fin de tous les Volumes.
Génération d'un fichier bootstrap avec la liste des volumes à utiliser (tous ceux du 06/06/2015)
root@srv-scribe:~# cat boostrap.bsr
Volume="ScribeVolume0044"
VolSessionId=109
VolSessionTime=1427205136
Volume="ScribeVolume0068"
VolSessionId=109
VolSessionTime=1427205136
Volume="ScribeVolume0045"
VolSessionId=109
VolSessionTime=1427205136
[...]
Volume="ScribeVolume-0302"
VolSessionId=109
VolSessionTime=1427205136
Restauration
root@srv-scribe:~# root 15133 15119 25 16:26 pts/5 00:07:31 bextract -b boostrap.bsr /mnt/sauvegardes /home/restore/
Restauration LDAP
root@srv-scribe:~# service slapd stop
root@srv-scribe:~# md /home/sav/ldap
root@srv-scribe:~# mv /var/lib/ldap/*.* /home/sav/ldap/
root@srv-scribe:~# slapadd -l /home/sauv_ldap.ldif
Restauration MySQL
root@srv-scribe:~# mysql_pwd.py eole21 nomodif
root@srv-scribe:~# mysql -uroot -peole21 < /home/sauv_mysql.sql
Restauration Quotas
root@srv-scribe:~# bareosrestore.py --quota
Restauration SID
root@srv-scribe:~# cat /etc/eole/${MODULE}_SID | xargs net setlocalsid
Reconfiguration du serveur
Il faut procéder à la reconfiguration du serveur à l'aide de la commande reconfigure
.
Annexes
Voici un complément d'information (outils d'administration, liens, …) pour aller plus loin avec Bareos.
Autres outils d'administration pour Bareos
L'administration de Bareos se fait au travers d'une console (texte ou graphique), qui pourra être installée sur le même serveur que le directeur (Director), mais aussi sur d'autres postes pour permettre de commander Bareos à distance.
Différentes versions existent :
bconsole est la console en mode texte ;
Bareos Administration Tool (BAT) est l'interface graphique standard qui permet d'exploiter bconsole, installable (25Mo) sur les modules EOLE avec la commande :
# apt-eole install bareos-bat
BAT se lance avec la commande suivante :
# bat -c /etc/bareos/bat.conf
Il est possible de lancer l'interface BAT à travers SSH avec l'option -X pour activer le déport de l'affichage et l'option -C pour éventuellement compresser les données (pratique pour les lignes à faible débit) :
# ssh -C -X <adresse_serveur>
bgnome-console est une console graphique (notamment pour les opérations de restauration), mais nécessite l'installation des librairies GNOME 2.x ;
bwx-console est une version graphique utilisant wxWidgets
L'installation de bwx-console est décrite pour Mandriva et pour Ubuntu à l'adresse suivante : http://m-k.cc/spip.php?rubrique3
bacula-win (http://sourceforge.net/projects/bacula/files/) permet notamment d'installer :
un client Windows (File Daemon) ;
des consoles : BAT, bconsole et TrayMonitor.
Il existe aussi des versions Web comme :
bacula-web écrit en PHP :
ou bweb écrit en perl :
http://bacula.svn.sourceforge.net/viewvc/bacula/trunk/gui-old/bweb/
Pour avoir plus d'informations sur les outils mentionnés : http://wiki.bacula.org/doku.php?id=3rd_party_addons
Quelques références
Voici quelques références autour de Bareos et des sauvegardes.
Définition de la sauvegarde : http://fr.wikipedia.org/wiki/Sauvegarde
Le site officiel de Bareos : http://www.bareos.org
L'accès à la documentation en HTML mais aussi en PDF : http://www.bareos.org/en/documentation.html
Tutoriel : http://www.bareos.org/en/HOWTO.html
Manuel utilisateur : http://www.bareos.org/en/manual/articles/manual.html
Définition des éléments de sauvegarde Bareos :
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-60001.3
Un répertoire partagé Windows 10 comme support de sauvegarde
Les modules EOLE permettent d'utiliser plusieurs supports pour effectuer les sauvegardes, dont un répertoire partagé.
Pour la sauvegarde, les accès au partage doivent impérativement se faire en utilisant un compte local du poste sur lequel se trouve le dossier partagé.
Remarque
Donner des droits d'accès au partage à un compte du domaine pose un problème pour le bon déroulement des sauvegardes. En effet pour avoir accès au partage, la station va vérifier la validité de l'utilisateur et de son mot de passe auprès du contrôleur de domaine mais le service Samba est arrêté par Bareos pour éviter qu'un fichier/dossier ne soit modifié pendant la sauvegarde. L'accès au partage n'est donc pas validé par le contrôleur de domaine et la sauvegarde ne peut pas se faire.
Voici comment créer un partage avec les droits d'accès adéquats sur un poste équipé de Windows 10.
Le dossier partagé peut se trouver sur le disque dur de la station Windows mais il peut aussi se trouver sur un disque dur externe connecté à la station.
Création d'un compte dédié sur le poste Windows 10
Ouvrir une session en administrateur local de la station sur laquelle vous voulez créer le partage.
Puis ouvrir la console de Gestion de l'ordinateur : clic droit sur le Menu démarrer → Gestion de l'ordinateur.

Aller dans le menu : Outils système → Utilisateurs et groupes locaux → Utilisateurs, puis effectuer un clic droit dans l'espace vide.
Configurer l'utilisateur comme ceci :

Finaliser l'opération en cliquant sur le bouton Créer
.
Partage du dossier et réglage des droits d'accès
Après avoir créé un dossier sauvegardes
à l'emplacement de votre choix, effectuer un clic droit sur le dossier et sélectionner Accorder l'accès à
puis Des personnes spécifiques...

Entrer le nom de l'utilisateur créé précédemment et cliquer sur le bouton Ajouter
.

Lui donner les droits en Lecture/écriture.

Finaliser l'opération en cliquant sur le bouton Partager
.

Attention
L’interface propose une liste déroulante pour la sélection des utilisateurs spécifiques. Elle affiche le nom complet alors qu’il faut fournir le nom d’utilisateur.
En cas d’erreur du type Windows n’a pas pu trouver <utilisateur>, vérifier que le nom saisi correspond bien au nom d’utilisateur.
Les imprimantes
Il y a plusieurs façon de gérer les imprimantes dans un établissement.
Il est possible :
de partager les imprimantes sur les postes utilisateurs ;
de passer par des serveurs d'impression ;
ou d'utiliser le module EOLE comme serveur d'impression.
Nous ne traiterons ici que de cas où le module EOLE sert de serveur d'impression avec CUPS[95].
Deux interfaces sont disponibles pour gérer les imprimantes :
l'interface simplifiée intégrée à l'EAD (gestion) ;
l'interface de gestion CUPS (gestion et installation/configuration).
L'interface simplifiée
L'interface de gestion CUPS
CUPS (Common UNIX Printing System) est le serveur d'impression libre intégré à la solution EOLE.
CUPS fournit une interface web pour faciliter l'installation et la gestion des imprimantes sur le serveur.
Cette interface est totalement accessible aux utilisateurs root, admin et aux utilisateurs du goupe PrintOperators. Sur le module Scribe, elle est en accès restreint pour les professeurs, identique à celle proposées dans l'interface simplifiée de l'EAD.
Création de l'imprimante
Ajouter une nouvelle imprimante
Dans l'EAD, le menu Imprimantes/Imprimantes/CUPS
ouvre l'interface de configuration CUPS dans une nouvelle fenêtre.
Cliquer dans la fenêtre le bouton ajouter une imprimante
.
Il est nécessaire de s'identifier avec un utilisateur root, <nom du module>, admin ou appartenant au groupe PrintOperators.
Il suffit alors d'indiquer un nom (généralement le nom de l'imprimante), un lieu (généralement le nom de la salle) et une description (généralement les caractéristiques de l'imprimante : A4, recto-verso, noir et blanc/couleur...). Puis cliquer sur poursuivre
.
Choix du matériel
Il y a trois grands types d'imprimantes :
- les imprimantes locales (avec un port USB, parallèle, ...) ;
- les imprimantes réseaux ;
- les imprimantes partagées sur un poste client Windows.
Les imprimantes locales
Seules les imprimantes USB sont reconnues directement par le système. Pour les imprimantes sur le port parallèle, le port série, le port SCSI, il suffit de choisir le "matériel" correspondant et de le configurer.
Consulter la documentation CUPS en cas de doute.

Les imprimantes réseaux
Il existe un grand nombres de protocoles réseaux pour les imprimantes : AppSocket/HP JetDirect, Internet Printing Protocol (HTTP ou IPP). Généralement, les imprimantes réseaux sont capable de faire du JetDirect. En cas de doute, se reporter à la documentation de l'imprimante.
ExempleImprimante compatible JetDirect
Choisir le matériel "AppSocket/HP JetDirect" et poursuivre
. Indiquer ensuite une URI du matériel du type :
socket://192.168.230.123:9100

Les imprimantes partagées sur un poste client Windows
Création d'un partage d'imprimante sous Windows XP
Nous partons du principe que l'imprimante est fonctionnelle sur le système d'exploitation propriétaire Windows.
Remarque
Il est possible d'accéder directement à l'imprimante du poste sans passer par le serveur. Cette documentation ne traite pas de ce cas.
Dans le menu Windows Démarrer/Imprimantes et télécopieurs
cliquer droit sur votre imprimante et choisir Partager...
.

Il suffit alors de cocher partager cette imprimante
et de donner un Nom de partage.

Enfin, dans l'onglet Sécurité
, supprimer toutes les autorisations aux autres groupes et utilisateurs que Administrateurs. Ce groupe devant avoir toutes les autorisations.

Configuration de CUPS
Il suffit de sélectionner le matériel "Windows Printer via Samba" et poursuivre
.
L'URI du matériel est du type :
smb://admin:motdepasse@xp-rdc1/Epson_740

Remarque
Lors de la modification de l'imprimante, l'URI n'affichera plus le nom de l'utilisateur ni le mot de passe. Il sera nécessaire de le re-indiquer.
Choix du pilote
Il existe deux catégories de choix pour les pilotes d'impression.
- utilisation du pilote client Windows ;
- utilisation du pilote CUPS.
Avantages et inconvénients des solutions
Le pilote client est plus compliqué à mettre en place et diffère suivant les constructeurs. Par contre, le pilote est parfois plus complet que la version serveur. Cette solution ne concerne que Windows.
Le pilote CUPS est plus simple à mettre en place. Il est particulièrement adapté aux réseaux hétérogènes. Par contre, les pilotes ne sont souvent pas écrits directement par les constructeurs.
Utilisation des pilotes clients Windows
Configuration de CUPS
Dans la liste des marques, choisir "Raw" quelque soit le modèle de l'imprimante et "Raw Queue" comme modèle.
Dans ce cas, CUPS envoie directement les données à l'imprimante sans les traiter.


Installation du pilote Windows
Cette étape est importante. Elle permettra aux différents postes utilisateur de récupérer les pilotes d'impression pour pouvoir imprimer les documents.
L'installation se fera depuis un poste client Windows intégré au domaine. Il faut se munir du pilote fourni par le constructeur de l'imprimante.
Il faut commencer par se connecter à un poste Windows en "admin" ou un utilisateur appartenant au groupe PrintOperators.
Ensuite, dans un navigateur de fichiers il faut se rendre sur le partage du serveur : \\<nom du serveur>
puis choisir "imprimantes et télécopieurs sur ...".
Cliquer droit et choisir propriétés
.

Répondre non
à la question "Voulez-vous installer le pilote maintenant".
Il est alors possible de choisir un pilote déjà présent sur le serveur ou d'installer un nouveau pilote dans l'onglet "avancé" dans la section "pilote".

Attention
Il se peut que Windows change le nom de l'imprimante à cette étape. Vérifier que le nom correspondent à ce que vous souhaitez.
Remarque
Dans l'onglet "Partage" il est possible d'installer des "Pilotes supplémentaires..." pour les autres versions de Windows.
Utilisation des pilotes CUPS
Configuration de CUPS
Dans la liste des marques, choisir la marque de votre imprimante, puis cliquer sur poursuivre
. Enfin, choisir le modèle de votre imprimante.

Si vous ne trouvez pas votre matériel dans la liste par défaut, il est possible de rechercher son imprimante sur le site de CUPS : http://cups.org/ppd.php.
Installation du pilote Windows
Lorsque les pilotes sont installés sur CUPS, il est nécessaire de configurer le poste client avec des pilotes PostScript.
Il existe plusieurs pilotes PostScript. Dans cette documentation nous utiliseront les pilotes PostScript Microsoft. Cela ne s'appliquera que pour les versions de Windows supérieurs ou égales à Windows 2000.
Si vous utilisez encore des versions de Windows inférieurs, il vous faudra, par exemple, les pilotes PostScript proposés par l'éditeur Adobe.
Il faut commencé par récupérer les pilotes PostScript Microsoft.
Les pilotes d'impression PostScript Microsoft se trouve dans le répertoire suivant de Windows XP : %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86
.
Il vaut faudra les fichiers suivant :
-
ps5ui.dll
-
pscript5.dll
-
pscript.hlp
-
pscript.ntf
Ces fichiers sont à copier sur le serveur, en tant qu'utilisateur root, dans le répertoire suivant :
/usr/share/cups/drivers/
Enfin, il faut associer les pilotes CUPS aux imprimantes.
Pour associer les pilotes CUPS à une imprimante, il faut taper la commande suivante :
# cupsaddsmb -v -H localhost -U admin <Epson_740>
<Epson_740> étant le nom de l'imprimante définit dans l'interface CUPS.
Gestion des imprimantes sous Windows
Attention
Dans la partie règle utilisateurs, que l'on obtient en cliquant sur un groupe d'utilisateurs dans la colonne de gauche, sélectionner Panneau de Configuration
section "Imprimantes".
A cet endroit vous pouvez spécifier le chemin UNC (\\<scribe>\<imprimante>) d'accès aux imprimantes disponibles pour ce groupe de machine et ce groupe d'utilisateur.
Ainsi élèves et professeurs peuvent avoir des imprimantes différentes sur un même poste et un utilisateur peut avoir des imprimantes différentes en fonction du poste et du groupe de machines auquel il appartient.
L'authentification unique
Principe de fonctionnement général
La gestion du Single Sign On[16] (SSO) sur les modules EOLE est basée sur le protocole CAS[97].
Le principe est que l'utilisateur fournit ses identifiants sur la page d'authentification du service. Une fois les identifiants validés, le service pose un cookie de session SSO dans le navigateur. Ce dernier n'est valide que sur une durée définie.
Tant que le cookie est valide, le service reconnaît automatiquement l'utilisateur à chaque fois qu'une application demandera de vérifier son authentification. Ce système présente plusieurs intérêts : l'utilisateur ne saisit qu'une fois ses identifiants pour se connecter à un ensemble d'applications et celles-ci n'ont jamais accès à ses identifiants réels (Avec eole-sso la liste des informations envoyées aux applications par le service SSO est configurable par application grâce à un système de filtres).
Le serveur d'authentification possède plusieurs caches de sessions :
tickets utilisateurs (session SSO) : longue durée, réutilisable. Ces tickets sont la preuve d'authentification de l'utilisateur et sont stockés dans un cookie sécurisé dans le navigateur de l'utilisateur ;
tickets d'application : courte durée (5 minutes par défaut), utilisable une seule fois et pour une seule application.
Ces tickets sont également utilisés pour mémoriser une session de fédération avec un autre système (se reporter aux chapitres traitant de la fédération d'identité).
Les applications clientes n'ont pas accès à l'identifiant de la session utilisateur, il est échangé uniquement entre le serveur d'authentification et le navigateur.
Une fois qu'une application a obtenu un ticket, elle peut utiliser de façon classique une session interne pour ne pas surcharger le serveur par des appels trop nombreux.
Attention
La session SSO étant gérée par un cookie placé dans le navigateur du client, celui-ci doit être configuré pour accepter les cookies.
Déroulement de l'accès à une application via SSO

L'utilisateur accède à une page d'une application (service) configurée pour utiliser le système SSO (application utilisant un client CAS).
L'application redirige l'utilisateur sur le serveur SSO en passant une URL de retour (paramètre
service
). Le serveur SSO vérifie qu'un cookie de session est présent et qu'il correspond à une session valide.Si ce n'est pas le cas, il demande à l'utilisateur de saisir ses identifiant et mot de passe pour établir une nouvelle session SSO.
Une fois la session validée, le serveur SSO génère un ticket d'application valable pour une courte durée et réservé à l'URL du service. Il redirige alors l'utilisateur sur cette URL en passant le ticket en paramètre.
L'application récupère le ticket. Elle redirige l'utilisateur sur l'URL de validation du serveur SSO en passant en paramètre le ticket reçu et son URL de service.
Le service SSO vérifie que le ticket est encore valide et correspond à l'URL de service. puis redirige sur l'URL de service en incluant une réponse. Si cette réponse est positive (le ticket est valide), elle contient également des informations sur l'utilisateur (les informations renvoyées dépendent de l'application, se reporter au chapitre traitant des filtres).
L'application reçoit la réponse et crée éventuellement une session interne pour l'utilisateur.
La page de l'application est renvoyée à l'utilisateur
Complément
Le fonctionnement peut être plus complexe dans le cas de l'utilisation du mode proxy pour accéder à des services non web (par exemple, pour accéder à un service IMAP ou FTP).
Se reporter à la description du site officiel du protocole CAS pour plus de détail :
Description du produit EoleSSO
EoleSSO est un serveur d'authentification développé pour répondre à la problématique du SSO[16] (authentification unique) dans différentes briques de l'architecture EOLE. Il est développé en langage Python à l'aide du framework Twisted[98].
Ce produit implémente en premier lieu un serveur d'authentification compatible avec le protocole CAS[97]. Une partie du protocole SAML[99] a été implémentée par la suite pour permettre de répondre à des problématiques de fédération avec d'autres produits (ou entre 2 serveurs EoleSSO).
Description du produit Lemon-LDAP::NG
LemonLDAP::NG[100] est un logiciel open source qui fournit une solution d'authentification unique distribuée avec gestion centralisée des droits sous licence GPL.
Intégré à partir d'EOLE 2.8, il peut de remplacer avantageusement la solution historique EoleSSO.
Site officiel : LemonLDAP::NG
Documentation officielle (en anglais) : Documentation
Présentation détaillée du produit EoleSSO
Onglet Eole sso : Configuration du service SSO pour l'authentification unique
Le serveur EoleSSO est prévu pour être déployé sur un module EOLE.
Il est cependant possible de l'utiliser dans un autre environnement en modifiant manuellement le fichier de configuration /usr/share/sso/config.py
.
Cette section décrit la configuration du serveur depuis l'interface de configuration du module disponible sur tous les modules EOLE. Les valeurs définies par défaut simplifient la configuration dans le cadre d'une utilisation prévue sur les modules EOLE.
Serveur local ou distant
AttentionServeur EoleSSO local
À partir d'EOLE 2.9, l'outil EoleSSO s'exécute dans un conteneur[17] logiciel Podman[101].
L'image eole-sso-server
est téléchargée depuis le site hub.eole.education.
Le serveur doit donc pouvoir accéder à ce domaine au même titre qu'aux serveurs de mise à jour des modules.
Adresse et port d'écoute
L'onglet supplémentaire Eole-sso
apparaît si l'on a choisi d'utiliser un serveur EoleSSO local ou distant.
Dans le cas de l'utilisation du serveur EoleSSO local, Nom de domaine du serveur d'authentification SSO
doit être renseigné avec le nom DNS du serveur.
Durée de vie d'une session (en secondes)
: indique la durée de validité d'une session SSO sur le serveur. Cela n'influence pas la durée de la session sur les applications authentifiées, seulement la durée de la validité du cookie utilisé par le serveur SSO. Au delà de cette durée, l'utilisateur devra obligatoirement se ré-authentifier pour être reconnu par le serveur SSO. Par défaut, la durée de la session est de 3 heures (7200 secondes).CSS par défaut du service SSO (sans le .css)
: permet de spécifier une CSS différente pour le formulaire d'authentification affiché par le serveur EoleSSO. Le fichier CSS doit se trouver dans le répertoire/usr/share/sso/interface/theme/style/<nom_fichier>.css
. Se reporter au chapitre personnalisation pour plus de possibilités à ce sujet.
AttentionPort 443
Si le port HTTPS (443
) est déclaré pour ce service, alors celui-ci est uniquement accessible via l’URL https://<nom_du_serveur>/sso
.
L’URL de la forme https://<nom_du_serveur>:<port>/
reste valable pour les autres valeurs de port que 443
.
Dans le cas de l'utilisation d'un serveur EoleSSO distant, seuls les paramètres Nom de domaine du serveur d'authentification SSO
et Port utilisé par le service EoleSSO
sont requis et les autres options ne sont pas disponibles car elles concernent le paramétrage du serveur local.
Configuration LDAP
Le serveur EoleSSO se base sur des serveurs LDAP[79] pour authentifier les utilisateurs et récupérer leurs attributs.
Il est possible ici de modifier les paramètres d'accès à ceux-ci :
- l'adresse et le port d'écoute du serveur LDAP ;
- le chemin de recherche correspond à l'arborescence de base dans laquelle rechercher les utilisateurs (basedn) ;
- un libellé à afficher dans le cas où un utilisateur aurait à choisir entre plusieurs annuaires/établissements pour s'authentifier (voir le chapitre
Gestion des sources d'authentifications multiples
) ; - un fichier d'informations à afficher dans le cadre qui est présenté en cas d'homonymes. Ces informations apparaîtront si l'utilisateur existe dans l'annuaire correspondant. Les fichiers doivent être placés dans le répertoire
/usr/share/sso/interface/info_homonymes
; - DN[102] et mot de passe d'un utilisateur en lecture pour cet annuaire ;
- attribut de recherche des utilisateurs : indique l'attribut à utiliser pour rechercher l'entrée de l'utilisateur dans l'annuaire (par défaut, uid)
- choix de la disponibilité ou non de l'authentification par clé OTP[103] si disponible (voir plus loin).
Attention
Dans le cas où vous désirez fédérer EoleSSO avec d'autres fournisseurs de service ou d'identité (ou 2 serveurs EoleSSO entre eux), il est nécessaire de configurer un utilisateur ayant accès en lecture au serveur LDAP configuré.
Il sera utilisé pour récupérer les attributs des utilisateurs suite à réception d'une assertion d'un fournisseur d'identité (ou dans le cas d'une authentification par OTP).
Cet utilisateur est pré-configuré pour permettre un accès à l'annuaire local sur les serveurs EOLE.
Sur les modules EOLE, la configuration recommandée est la suivante :
- utilisateur :
cn=reader,o=gouv,c=fr
- fichier de mot de passe :
/root/.reader
Si vous connectez EoleSSO à un annuaire externe, vous devez définir vous même cet utilisateur :
Utilisateur de lecture des comptes ldap
: renseignez son dn complet dans l'annuairefichier de mot de passe de l'utilisateur de lecture
: entrez le chemin d'un fichier ou vous stockerez son mot de passe (modifiez les droits de ce fichier pour qu'il soit seulement accessible par l'utilisateurroot
)
Passer la variable Information LDAP supplémentaires (applications)
à oui
permet de configurer pour chaque annuaire LDAP déclaré des attributs supplémentaires qui seront utilisés par les applications web (DN racine de l'arbre utilisateurs, DN racine de l'arbre groupes, Champ 'nom d'affichage' de l'utilisateur, Champ 'mail' de l'utilisateur, Champ 'fonction' de l'utilisateur, Champ 'categorie' de l'utilisateur, Champ 'rne' de l'utilisateur, Champ 'fredurne' de l'utilisateur…).
Serveur SSO parent
Un autre serveur EoleSSO peut être déclaré en tant que serveur parent dans la configuration (adresse et port). Se reporter au chapitre traitant de la fédération pour plus de détails sur cette notion.
Si un utilisateur n'est pas connu dans le référentiel du serveur EoleSSO, le serveur essayera de l'authentifier auprès de son serveur parent (dans ce cas, la liaison entre les 2 serveurs s'effectue par l'intermédiaire d'appels XML-RPC[104] en HTTPS, sur le port défini pour le serveur EoleSSO).
Si le serveur parent authentifie l'utilisateur, il va créer un cookie de session local et rediriger le navigateur client sur le serveur parent pour qu'une session y soit également créée (le cookie de session est accessible seulement par le serveur l'ayant créé).
Attention
Ce mode de fonctionnement n'est plus recommandé aujourd'hui. Il faut préférer à cette solution la mise en place d'une fédération par le protocole SAML.
Fédération d'identité
Le serveur EoleSSO permet de réaliser une fédération vers un autre serveur EoleSSO ou vers d'autre types de serveurs compatibles avec le protocole SAML[99] (version 2).
Nom d'entité SAML du serveur eole-sso (ou rien)
: nom d'entité du serveur EoleSSO local à indiquer dans les messages SAML. Si le champ est laissé à vide, une valeur est calculée à partir du nom de l'académie et du nom de la machine.
Cacher le formulaire lors de l'envoi des informations de fédération
: permet de ne pas afficher le formulaire de validation lors de l'envoi des informations de fédération à un autre système. Ce formulaire est affiché par défaut et indique la liste des attributs envoyés dans l'assertion SAML permettant la fédération.
Authentification OTP
Il est possible de configurer EoleSSO pour gérer l'authentification par clé OTP à travers le protocole securID[105] de la société EMC (précédemment RSA).
Pour cela il faut :
installer et configurer le client PAM/Linux proposé par EMC (voir annexes)
Répondre
oui
à la questionGestion de l'authentification OTP (RSA SecurID)
Des champs supplémentaires apparaissent :
Pour chaque annuaire configuré, un champ permet de choisir la manière dont les identifiants à destination du serveur OTP sont gérés. '
inactifs
' (par défaut) indique que l'authentification OTP n'est pas proposée à l'utilisateur. Avec'identiques'
, le login local (LDAP) de l'utilisateur sera également utilisé comme login OTP. La dernière option est 'configurables
', et indique que les utilisateurs doivent renseigner eux même leur login OTP. Dans ce dernier cas, l'identifiant est conservé sur le serveur EoleSSO pour que l'utilisateur n'ait pas à le renseigner à chaque fois (fichier/usr/share/sso/securid_users/securid_users.ini
).Le formulaire d'authentification détecte automatiquement si le mot de passe entré est un mot de passe OTP. Il est possible de modifier la reconnaissance si elle ne convient pas en réglant les tailles minimum et maximum du mot de passe et en donnant une expression régulière qui sera vérifiée si la taille correspond. Les options par défaut correspondent à un mot de passe de 10 à 12 caractères uniquement numériques.
Certificats
Les communications de et vers le serveur EoleSSO sont chiffrées.
Sur les modules EOLE, des certificats auto-signés sont générés à l'instanciation[106] du serveur et sont utilisés par défaut.
Il est possible de renseigner un chemin vers une autorité de certification et un certificat serveur dans le cas de l'utilisation d'autres certificats (par exemple, des certificat signés par une entité reconnue).
Les certificats doivent être au format PEM.
Configuration en mode expert
Autres options
En mode expert plusieurs nouvelles variables sont disponibles :
Alias d'accès au service SSO (paramètre : __CAS_FOLDER)
permet de créer un alias spécifique en plus du domaine et du port pour certains serveurs SSO tels que lemonLDAP[100] ou keycloak[107].Cette variable est disponible uniquement à partir de la version 2.6.2 d'EOLE.
Nom du cookie EoleSSO
etDomaine du cookie EoleSSO
permettent la gestion d'un cluster EoleSSO.
Générer des statistiques d'usage du service
est ànon
par défaut.Si ce paramètre est à
oui
, EoleSSO va générer des statistiques sur l'usage du service (consommation mémoire, nombre de session...). Ces statistiques sont générées par la librairie python prometheus-client. Elles peuvent être intégrées à un outil tel que Grafana, et sont disponibles sur l'URL suivante : https://<adresse_serveur>:8443/metric.
Activer la balise meta viewport (CSS responsive)
permet d'inclure la balise HTML metaviewport
dans les pages de l'application (avec content="width=device-width, initial-scale=1"). Elle est à activer en cas d'utilisation d'une feuille de style CSS responsive.
Ne pas répondre aux demandes CAS des applications inconnues
est ànon
par défautSi ce paramètre est à
oui
, seules les applications renseignées dans les fichiers d'applications (/usr/share/sso/app_filters/*_apps.ini
) sont autorisées à recevoir des réponses du serveur en mode CAS. Si il est à non, le filtre par défaut leur sera appliqué ;Nombre maximum de sessions en attente (backlog)
permet de définir la taille de la file d'attente des sessions.Augmenter cette valeur est susceptible de résoudre des problèmes de lenteur voir de rejet des demandes d'authentification ;
Décalage de temps (en secondes) dans les messages de fédération SAML
est à-300
secondes par défautCe décalage est appliqué aux dates dans les messages de fédération SAML. Cela permet d'éviter le rejet des messages lorsque le serveur partenaire n'est pas tout à fait synchrone (par défaut, on décale de 5 minutes dans le passé). Ce délai est aussi pris en compte pour la validation des messages reçus ;
Taille du pool de traitement (thread pool size)
permet de configurer la valeur du paramètre THREAD_POOL_SIZE.Augmenter cette valeur est susceptible de résoudre les problèmes de charge rencontrés sur certaines infrastructures ;
Utiliser l'authentification SSO pour l'EAD
est àoui
par défaut.Le passer à
non
permet de ne plus utiliser le serveur SSO pour l'authentification de l'EAD.
Authentification OpenID Connect
Autoriser l'authentification OpenID Connect
est ànon
par défautSi ce paramètre est à
oui
, il devient possible de configurer un ou plusieurs fournisseurs d'identité OpenID Connect ;Référence du fournisseur d'identité OpenID
: renseigner un libellé pour identifier le fournisseur. Ce libellé est interne à l'application EoleSSO. Il est utilisé pour définir le nom des fichiers contenant les logos/boutons du fournisseur :/usr/share/sso/interface/images/<libelle>.png
: bouton de connexion présenté sur la page de login (par exemple : "se connecter avec France Connect") ;/usr/share/sso/interface/images/logo-<libelle>.png
: logo du fournisseur qui sera affiché sur la page d'association de comptes.
Libellé du fournisseur d'identité OpenID
: libellé à destination des utilisateurs pour décrire le fournisseur ("France Connect", "Google", ...) ;URL d'accès (issuer)
: URL décrivant le fournisseur d'identité (la plupart du temps, l'URL de base de son service d'authentification) ;URL de demande d'autorisation (authorization endpoint)
: URL permettant au client d'initier le processus d'authentification ;URL de récupération de jeton d'accès (token endpoint)
: URL permettant de récupérer un jeton (éventuellement l'identifiant de l'utilisateur) après authentification ;URL de déconnexion (logout endpoint)
: URL permettant de demander une déconnexion. Ce paramètre est ignoré pour les fournisseurs utilisant une cinématique de déconnexion spécifique comme Google, Facebook et Microsoft ;URL de lecture des informations (userinfo endpoint)
: URL permettant de récupérer les informations de l'utilisateur à l'aide du jeton fourni ;URL de description des certificats de signature (jwks URI)
: URL décrivant les certificats utilisés par le fournisseur (si disponible) ;
Définition de l'identifiant client (Client ID) et clé secrète (Client secret)
Attention
L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.
Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf
:
<nom_fournisseur> = "<client id> :<client secret>"
Le nom_fournisseur
doit correspondre au paramètre Référence du fournisseur d'identité OpenID
renseigné dans l'interface de configuration du module.
Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose
.
Version du serveur SSO
Protocoles supportés
Compatibilité CAS
Fonctions implémentées au niveau serveur

Le serveur EoleSSO implémente le protocole CAS[97].
Vous pouvez retrouver la description de ce protocole sur le site officiel du protocole :
http://www.apereo.org/cas/protocol
Les version 1 et 2 du protocole sont gérées.
En plus des fonctionnalités de base décrites dans le protocole, les fonctions suivantes ont été ajoutées pour permettre une meilleure compatibilité avec des versions plus récentes (CAS 3) :
échange de messages au format SAML 1.1 dans une enveloppe SOAP ;
implémentation d'une déconnexion centralisée pour les sessions établies via le protocole CAS. Cette fonctionnalité peut être activée ou désactivée au niveau du serveur (active par défaut) ;
envoi d'attributs utilisateur supplémentaires dans la réponse du serveur, avec un système de filtres suivant l'URL de destination.
Attention
Les protocoles 1 et 2 de CAS utilisent un format de messages différent. Le serveur peut être configuré pour répondre à l'un ou l'autre des formats, mais ne peut pas gérer les 2 en même temps. La version 1 du protocole est disponible pour permettre au serveur de répondre à des clients plus anciens, mais dans ce cas les fonctionnalités du serveur seront très limitées (en particulier, le mode proxy et l'envoi d'attributs ne sont pas gérés).
Compatibilité du client
Suivant le client utilisé, certaines fonctionnalités peuvent ne pas être disponibles.
- La prise en compte des requêtes de déconnexion envoyées par le serveurs nécessitent l'utilisation d'un client récent (phpCAS version 1.1.0 ou supérieur).
Une version modifiée du client phpCAS est disponible dans les dépôts de la distribution EOLE.
Compatibilité SAML2
Pour permettre de répondre à des problématiques de fédération de l'identité des utilisateurs dans des référentiels différents, le serveur EoleSSO est désormais capable d'échanger des messages au format SAML 2[99] . Cela permet, par exemple, que des utilisateurs authentifiés au niveau d'un établissement scolaire puissent accéder à des ressources gérées en académie sans s'authentifier à nouveau.
Les fonctionnalités implémentées correspondent à un certain nombre de scénarios envisagés. Les profils et bindings définis par le standard ne sont pas tous implémentés. En particulier, les binding HTTP Artifact
et SOAP
ne sont pas gérés, le serveur EoleSSO ne peut donc pas actuellement être considéré comme pleinement conforme au standard SAML 2.
Pour plus de détail, se reporter au document publié sur le site d'OASIS.
Les fonctionnalités absentes seront éventuellement implémentées dans des versions ultérieures selon les besoins.
Les mécanismes suivants sont implémentés :
WebSSO : AuthnRequest (POST/Redirect) / IDP Response (POST) ;
Single Logout : LogoutRequest (POST/Redirect) / LogoutResponse (POST/Redirect).
Le serveur EoleSSO met à disposition un fichier de méta-données pour faciliter la mise en relation avec une entité partenaire.
Il gère également un répertoire de fichiers de méta-données pour récupérer les informations sur ces entités. Se reporter au chapitre gestion des méta-données
pour plus de détails.
Attention
Les requêtes et assertions échangées doivent être signées. La clé de signature de l'entité partenaire doit être inclue dans le fichier de méta-données.
Scenarii gérés :
En tant que fournisseur d'identité :
- émission d'une assertion d'authentification à destination d'un fournisseur de service (initié par le fournisseur d'identité ou suite à réception d'une requête authentification émise par un fournisseur de service valide) ;
- déclenchement du processus de déconnexion globale à l'initiative du fournisseur ou suite à la réception d'une requête de déconnexion valide.
En tant que fournisseur de service :
- création d'une session locale suite à la réception d'une assertion d'authentification d'un fournisseur d'identité (et redirection vers l'adresse spécifiée par le paramètre relayState si il est présent) ;
- émission d'une requête de déconnexion en direction du fournisseur d'identité en cas de demande de déconnexion depuis une application cliente.
Compatibilité RSA Securid
Principe de fonctionnement
Le service EoleSSO est capable de vérifier l'authentification d'un utilisateur auprès d'un serveur RSA utilisant le protocole SecurID[105] (authentification de type One Type Password).
L'authentification est effectuée par l'intermédiaire du module PAM[20] SecurID fourni par la société RSA.
Le principe est de vérifier l'authentification de l'utilisateur auprès du serveur RSA, et de conserver cette information dans la session SSO de l'utilisateur.
Lorsque l'utilisateur essaie ensuite de se connecter à un fournisseur de service, les messages SAML envoyés pour établir la fédération seront adaptés pour refléter le niveau d'authentification de l'utilisateur (mot de passe à utilisation unique).
Remarque
Utilisation
Lors de la première utilisation, l'utilisateur se connecte au serveur EoleSSO avec ses identifiants habituels (authentification LDAP). Avant de valider le formulaire d'authentification, il peut cocher la case Enregistrer mon identifiant OTP
. Il peut alors renseigner l'utilisateur associé à sa clé OTP sur le serveur RSA, ainsi que son code PIN et le mot de passe actuel.
Attention
Le serveur SSO ne gère pas la saisie initiale du code PIN d'un utilisateur. Dans le cas d'un nouvel utilisateur, il faudra au préalable que celui-ci se connecte sur la mire RSA pour créer son code PIN.
Le serveur EoleSSO va vérifier l'authentification LDAP, puis va valider l'authentification auprès du serveur RSA. Si les deux authentifications réussissent, il va enregistrer l'identifiant de l'utilisateur sur le serveur RSA et va l'associer à l'utilisateur LDAP.
Par la suite, lorsque l'utilisateur revient sur la page d'authentification, le système détecte qu'il s'est déjà enregistré (après saisie de son identifiant habituel). L'utilisateur a alors la possibilité de cocher la case 'Connexion par clé OTP
'. Dans ce cas, il lui suffit de saisir son code PIN et mot de passe OTP pour s'authentifier.
Compatibilité OpenID Connnect
Des modifications ont été apportées à EoleSSO pour permettre d'authentifier les utilisateurs auprès du fournisseur d'identité France Connect[108].
Il est également possible de configurer d'autres fournisseurs d'identité OpenID Connect[109] dans les limites des fonctionnalités implémentées. Seul France Connect et l'authentification OAuth[110] 2.0 de Google ont été testés à ce jour.
Le principe de fonctionnement est le suivant :
l'utilisateur se connecte à une application protégée par EoleSSO et est redirigé sur la mire d'authentification ;
la mire d'authentification EoleSSO présente un bouton pour chaque fournisseur d'identité OpenID configuré ;
lorsqu'un utilisateur clique sur un de ces boutons, il est redirigé vers le portail de connexion du fournisseur correspondant ;
après authentification, il est renvoyé sur le portail EoleSSO ;
lors de la première connexion de l'utilisateur avec ce fournisseur, EoleSSO demande de renseigner le couple identifiant/mot de passe habituel, et l'associe à l'identifiant retourné par le fournisseur ;
si l'association a déjà été réalisée, EoleSSO retrouve le compte associé, et créer directement la session de nécessaire à l'utilisateur ;
l'utilisateur est redirigé vers l'application à laquelle il souhaite accéder.
ComplémentDonnées échangées
Le protocole OpenID Connect prévoit que le fournisseur de service précise un ensemble de données auxquelles il veut accéder (scope dans le vocabulaire OpenID).
Cela peut permettre de récupérer diverses informations (sous réserve du consentement de l'utilisateur) , comme l'adresse de messagerie, le numéro de téléphone…
Pour l'implémentation de OpenID réalisé dans EoleSSO, le but est de récupérer un identifiant pérenne et que l'utilisateur l'associe à son compte local. Le scope minimal nommé openid
est utilisé et seul l'attribut sub
est récupéré par EoleSSO (identifiant nom nominatif de l'utilisateur et sans informations personnelles).
La correspondance entre l'identifiant local et l'identifiant OpenID est stockée dans un fichier /usr/share/sso/openid_users/<référence_fournisseur>_users.ini
Pré-requis à la mise en œuvre
OpenID Connect repose sur un principe de confiance entre un fournisseur de service (Relying Party, par exemple EoleSSO), et un fournisseur d'identité (OpenID Provider, par exemple France Connect).
Pour mettre en place cette relation de confiance, le fournisseur de service va effectuer une demande d'enregistrement auprès du fournisseur d'identité. Celui-ci lui renverra un identifiant et une clé secrète.
Le fournisseur d'identité met à disposition un certain nombre d'URLs nécessaires à la configuration du client.
Remarque
Un principe de configuration automatique est prévu par le protocole, mais il est rarement utilisé dans la pratique et n'a pas été implémenté dans EoleSSO.
Les modalités de cet échange d'informations sont spécifiques à chaque fournisseur.
Dans la plupart des cas, il sera demandé :
une adresse dite de callback : c'est l'adresse sur laquelle est renvoyé l'utilisateur après authentification.
Dans le cas d'EoleSSO cette adresse est :
https://<adresse_serveur_eolesso>:8443/oidcallback
une adresse électronique de contact ;
un logo représentant le fournisseur de service (logo EOLE, logo de l'académie…) qui apparaîtra sur la page d'authentification du fournisseur d'identité.
Gestion de la déconnexion
La cinématique de déconnexion (single logout) n'est pas implémentée par tous les fournisseurs.
Par ailleurs, certains acteurs utilisent une cinématique de déconnexion spécifique. Des adaptations ont ainsi été réalisées pour la déconnexion de Google (testée) ainsi que pour celles de Facebook et Microsoft (non testées).
Configuration du fournisseur d'identité France Connect
Pour mettre en place la relation de confiance entre EoleSSO et France Connect, il faut effectuer une demande d'enregistrement auprès de France Connect : https://franceconnect.gouv.fr/inscription
Le fournisseur d'identité France Connect renvoi un identifiant client (Client ID) et une clé privée secrète ( Client secret) utilisé pour valider les échanges. Il met à disposition un certain nombre d'URLs nécessaires à la configuration du client.
Pour l'inscription il est demandé les informations suivantes:
le nom du service ;
une adresse électronique de contact ;
un logo représentant le fournisseur de service (logo EOLE, logo de l'académie...) qui apparaîtra sur la page d'authentification de France Connect ;
une adresse dite de callback : adresse sur laquelle est renvoyé l'utilisateur après authentification.
Dans le cas d'EoleSSO cette adresse est :
https://<adresse_serveur_eolesso>:8443/oidcallback
Les logos et bouton de connexion France Connect sont déjà fournis avec EoleSSO.
Complément
Pour plus d'informations sur le fonctionnement et la configuration, se reporter à : https://franceconnect.gouv.fr/fournisseur-service
Les conditions d'utilisation de France Connect et le processus de raccordement sont décrites dans le document PDF suivant :
https://franceconnect.gouv.fr/files/CGU FS - Annexe Processus d'implementation de FC par FS V2.1.pdf
À noter que parmi les conditions, une déclaration CNIL simplifiée est disponible et une recette de la solution technique mise en œuvre doit être effectuée par le SGMAP[111].
Attention
L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.
Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf
:
<nom_fournisseur> = "<client id> :<client secret>"
Le nom_fournisseur
doit correspondre au paramètre Référence du fournisseur d'identité OpenID
renseigné dans l'interface de configuration du module.
Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose
.
Configuration du fournisseur d'identité Google (Google APIs).
Déclaration d'EoleSSO comme fournisseur de service
Pour récupérer votre Client ID / Client Secret, vous devez créer un compte développeur depuis cette adresse : https://developers.google.com/
Rendez-vous dans la console développeur de Google afin de déclarer votre service EoleSSO comme application : https://console.developers.google.com
Créez un nouveau projet (barre supérieure de la console ->
select a project
->create a project
) ;Une fois le projet créé, cliquez sur la barre de menu gauche (3 barres horizontales), puis sur
API Manager
. Cliquez ensuite surCredentials
(à gauche) ;Cliquer sur
Oauth Consent Screen
et renseigner au minimum le champProduct name shown to users
(par exemple 'établissement xxx') ;Sauvegarder et dans Credentias, cliquer sur
Create credentials
, *Oauth Client ID" ;Choisir
Web application
et renseigner les champs suivants :- Name : au choix
- Authorized JavaScript origins : https://[adresse_serveur_sso]:8443
- Authorized redirect URIs : https://[adresse_serveur_sso]:8443/oidcallback
Cliquer sur Create et recopier l'identifiant et la clé secrète fournis ;
Configuration du fournisseur d'identité (Google) dans l'interface de configuration du module
Une fois les identifiants récupérés, vous pouvez configurer les paramètres d'EoleSSO (gen_config, onglet Eole SSO en mode expert)
Passer à
oui
la variableAutoriser l'authentification OpenID Connect
;ajouter un forunisseur en cliquant sur
+Référence du fournisseur d'identité OpenID
;Référence du fournisseur d'identité OpenID
: google (des logos sont présents et utilisés automatiquement en choisissant ce libellé) ;Libellé du fournisseur d'identité OpenID
: Google (ou autre description de votre choix) ;issuer
: https://accounts.google.com ;authorization_endpoint
: https://accounts.google.com/o/oauth2/v2/auth ;token_endpoint
: https://www.googleapis.com/oauth2/v4/token ;userinfo_endpoint
: https://www.googleapis.com/oauth2/v3/userinfo ;jwks_uri
: https://www.googleapis.com/oauth2/v3/certs .
En cas de problème, les paramètres en cours de validité sont décrits ici : https://accounts.google.com/.well-known/openid-configuration
Pour plus d'informations sur le support d'OpenID de Google : https://developers.google.com/identity/protocols/OpenIDConnect
Attention
L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.
Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf
:
<nom_fournisseur> = "<client id> :<client secret>"
Le nom_fournisseur
doit correspondre au paramètre Référence du fournisseur d'identité OpenID
renseigné dans l'interface de configuration du module.
Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose
.
Gestion des attributs des utilisateurs
Le gestionnaire de sessions permet de récupérer des informations de l'utilisateur connecté, par exemple :
- les données LDAP de l'utilisateur (récupérées lors de la phase d'authentification) ;
- le numéro et le libellé de l'établissement hébergeant le serveur d'authentification.
Le serveur EoleSSO permet également :
- d'étendre les données disponibles en définissant des attributs calculés ;
- de créer des filtres définissant quels attributs seront disponibles ;
- de décrire des URL afin de différencier les applications et leur appliquer un filtre.
Truc & astuce
En cas d'ajout de filtres, de définitions d'applications ou d'attributs calculés, il est possible de demander au serveur de les prendre en compte sans le redémarrer. Pour cela, il faut utiliser l'option reload
du script de démarrage du service :
# CreoleService eole-sso reload
Ajout d'attributs calculés
EoleSSO permet de définir des attributs calculés en plus des données récupérées dans l'annuaire à la connexion de l'utilisateur. Ces attributs sont calculés par des fonctions écrites en langage Python et ayant accès aux attributs connus de l'utilisateur.
Pour ajouter un attribut calculé, créer un fichier <nom_attribut>.py
dans le répertoire /usr/share/sso/user_infos/
:
# -*- coding: utf-8 -*-
use_cache = True
... imports et fonctions utilitaires pour le calcul ...
def calc_info(user_info):
.....
return valeur_attributs
use_cache
est une directive spécifiant si l'attribut doit être mis en cache (voir Optimisation des attributs calculés) ;user_info
est le dictionnaire des données existantes, il est passé automatiquement à la fonction par le serveur SSO ;
valeur_attributs
peut êtreune liste Python contenant les valeurs à associer à l'attribut <nom_attribut> :
return [val1, val2, ...]
un dictionnaire Python dont les clés sont le nom de champ et les valeurs la liste de valeurs associées (calcul d'attributs multiples) :
return {'attribut1' : [val1, val2, ...], 'attribut2' : [val1, val2, ...], ...}
Pour que ces données soient envoyées aux applications clientes du service EoleSSO, il faut les assigner dans un filtre de données (cf. paragraphes suivants)
Nom de l'attribut retourné
Dans le cas ou une simple liste de valeur est retournée, c'est le nom du fichier qui détermine le nom d'attribut auquel seront assignées les valeurs (nom du fichier sans l'extension .py
).
Dans le cas du calcul d'attributs multiples, le nom de fichier n'est pas pris en compte , le nom de l'attribut est indiqué directement dans la structure retournée.
Données à disposition des fonctions de calcul
L'objet user_infos
est un dictionnaire Python contenant les informations connues sur l'utilisateur (récupérées au moment de sa connexion). Il contient les informations suivantes :
- tous les champs de l'utilisateur dans l'annuaire LDAP qui sont accessibles par lui en lecture, à l'exception des mots de passe. Comme c'est le cas dans l'annuaire, les valeurs des attributs sont multivaluées. Par exemple, pour récupérer la première valeur du champ mail, utiliser
user_infos['mail'][0]
; - une entrée
user_groups
qui contient la liste des groupes Samba auxquels l'utilisateur est inscrit (récupérée également dans l'annuaire) ; - une entrée
info_groups
contenant un dictionnaire dont les clés sont l'attributcn
des groupes présents dansuser_groups
et les valeurs sont les attributs du groupe correspondant dans l'annuaire LDAP. Seuls les attributs suivants sont conservés :sambaGroupType
,displayName
,cn
,objectClass
,gidNumber
,mail
,description
etniveau
; - une entrée
dn
contenant le DN complet de l'utilisateur (utilisé pour récupérer le RNE d'origine d'un utilisateur dans le cas d'un annuaire multi-établissements) ; - les entrées
rne
etnom_etab
qui correspondent aux informations présentes dans la configuration Creole du serveur (ou dans le fichier de configuration du serveur EoleSSO le cas échéant) ; - au fur et à mesure du calcul des attributs, ceux déjà traités sont rendus disponibles dans
user_infos
.
Ordre de traitement et mise à disposition des attributs
2 règles s'appliquent pour déterminer dans quel ordre les attributs calculés sont évalués :
- Les fichiers sont traités par ordre de tri alphanumérique sur le noms des fichiers. Si un attribut dépend d'un autre, il est recommandé de préfixer le nom de fichier par un numéro (par exemple
00_attribut1.py
,01_attribut2.py
si attribut2 doit récupérer la valeur d'attribut1) ; - Les fichiers renvoyant les valeurs d'un seul attribut (renvoi de liste) sont prioritaires sur celles renvoyant des attributs multiples (renvoi de dictionnaire, même si celui-ci contient un seul attribut). Cela permet par exemple de disposer d'un ensemble d'attributs renvoyés par une seule fonction, puis d'écraser au cas par cas certains attributs si des adaptations sont nécessaires d'un serveur à l'autre (ou de redéfinir un des attributs comme non mis en cache).
Truc & astuceOptimisation des attributs calculés
Toutes les fonctions présentes sont calculées lors de la création de la session d'un utilisateur et lorsqu'une application accède aux informations de l'utilisateur.
Pour éviter de surcharger le serveur EoleSSO lors de requêtes multiples, les attributs peuvent être mis en cache pour la durée de la session SSO de l'utilisateur. Pour qu'un attribut utilise ce cache, il faut ajouter la ligne suivante dans le fichier de calcul :
use_cache = True
Il est conseillé d'utiliser cette directive sur tous les attributs, sauf ceux dont la valeur doit être ré-évaluée durant la session de l'utilisateur.
Attention
Dans le cas d'une utilisation du produit EoleSSO hors du cadre de la distribution EOLE, certains attributs peuvent ne pas être disponibles (en fonction de l'organisation des données dans l'annuaire). Certaines informations comme le libellé de l'établissement ou son code RNE peuvent être renseignées dans le fichier de configuration principal du serveur : /usr/share/sso/config.py
.
En plus des données ci-dessus, un certain nombre d'attributs calculés sont livrés par défaut par le serveur :
classes
: la classe d'un élève ou les classes d'un professeur (livré pargroupes.py
) ;disciplines
: les matières enseignées pour un professeur (livré pargroupes.py
) ;niveaux
: le niveau (attributMefclf
) d'un élève ou les niveaux dans lesquels un professeur enseigne (livré pargroupes.py
) ;secureid
: identifiant opaque calculé avec un MD5[13] de l'UID et du RNE de l'utilisateur ;ENTPersonProfils
: renvoie le profil de l'utilisateur tel que défini dans le SDET (par ex. National_1 pour un élève) ;ENTPersonStructRattachRNE
: le numéro d'établissement d'origine de l'utilisateur, calculé à partir de son DN dans l'annuaire (utile dans le cas d'un annuaire centralisé regroupant plusieurs établissements) ;ecs_profil
etecs_rne
: version spécifique des 2 attributs précédents (applications xDesktop et eConnect, voir le site http://envole.ac-dijon.fr) ;entlogin
: renvoie l'attributENTPersonProfil
de l'utilisateur. Si ce champ n'est pas renseigné, l'équivalent desecureid
est renvoyé.
ExempleAttribut calculé secureid (identifiant unique et opaque à destination de services externes)
Contenu du fichier /usr/share/sso/user_infos/secureid.py
:
# -*- coding: utf-8 -*-
def calc_info(user_infos):
"""calcule secureid : identifiant crypté unique pour chaque utilisateur"""
from md5 import md5
# calcul d'un identifiant crypté unique
user_hash = md5("%s@%s" % (user_infos['uid'][0], user_infos['rne'][0]))
return [user_hash.hexdigest()]
Filtrage des données par application
EoleSSO implémente un mécanisme permettant de renvoyer des informations différentes concernant l'utilisateur en fonction de l'application qui émet la requête.
Ce mécanisme nécessite la mise en place de deux fichiers de configuration :
- un fichier de description de l'application. Ces fichiers doivent être placés dans le répertoire
/usr/share/sso/app_filters
et leur nom doit se terminer par_apps.ini
. - un fichier de filtre (dans le même répertoire), devant se nommer
<nom_du_filtre>.ini
.
La description d'une application se fait selon le modèle suivant (exemple avec une application fictive) :
[editeurs]
# nom de l'application (indicatif)
port=80
# port de l'application (facultatif)
baseurl=/providers
# url de l'application
scheme=both
# type de protocole : http/https/both
addr=^appserv..*.fr$
# adresse des serveurs autorisés
typeaddr=regexp
# type d'adresse
filter=mon_filtre
# nom du filtre à appliquer
proxy=default
# proxy http nécessaire pour accéder à l'application
Si port
est spécifié, il devra apparaître dans l'URL du service désirant s'authentifier. Pour que la définition fonctionne quel que soit le port (ou si le port n'est pas dans l'URL), enlevez la ligne concernant le port, ou mettez port=
sans valeur
Il y a 2 types de vérification de l'adresse (typeaddr
) :
type ip : l'adresse donnée peut être une adresse IP ou un couple adresse/netmask.
Les formats d'écriture suivants sont possibles :
- 192.168.230.1
- 192.168.230.0/255.255.255.0
- 192.168.230.0/24
type regexp : l'adresse est donnée comme une expression régulière à comparer à l'adresse DNS du client.
Dans l'exemple : ^appserv..*.fr$ -> correspond à toutes les adresse du type par appserv.<qqe_chose>.fr
Ces données seront comparée avec l'URL associée à la session dans le serveur SSO (dans le cadre du protocole CAS, cette URL correspond au champ service donné lors de l'obtention d'un ticket d'application).
Truc & astuce
Pour vérifier le fonctionnement d'une regexp, lancer un shell python:
>>> import re
>>> regexp = '<votre regexp>'
>>> url = '<une url à comparer avec la regexp>
>>> print re.match(regexp, url) is not None
baseurl
correspond au chemin de l'application.
Dans l'exemple ci dessus, une URL du type http://appserv_test.fr:80/providers
sera reconnue (A noter que http://appserv_test.fr:80/providers/toto
est aussi considéré comme valide).
La partie requête de l'URL n'est pas prise en compte (dans cet exemple, http://appserv_test.fr:80/providers?variable=1&variable2=test
sera considérée valide).
Pour vérifier quelle URL est reçue, vous pouvez regarder dans /var/log/rsyslog/local/eolesso/eolesso.info.log
. L'URL est affichée dans les lignes commençant par : adding session for service : ....
filter
indique le nom du fichier de filtre à utiliser (sans l'extension.ini) pour les applications correspondant à cette description. Voir la section suivante pour plus de détail.
proxy
indique que l'utilisation d'un proxy est nécessaire pour accéder à l'application depuis la machine hébergeant le serveur EoleSSO.
si la valeur est 'default
', le proxy déclaré dans la configuration (dans l'onglet general de gen_config) est utilisé. Il est aussi possible de spécifier un proxy particulier avec une valeur du type 'nom_hote:port
'. Le proxy déclaré sera utilisé dans les procédures suivantes :
envoi d'une requête de déconnexion CAS à une application
envoi d'un ticket PGT à un client CAS en mode proxy
Définition de filtres d'attributs
Toutes les données connues de l'utilisateur peuvent être propagées vers les applications lorsque celles-ci valident l'authentification de l'utilisateur auprès du serveur EoleSSO.
Pour décider quelles informations seront renvoyées aux différentes applications, un système d'application de filtres a été mis en place. Le principe est de définir dans un fichier un ensemble d'attributs à renvoyer à une(des) application(s), ainsi que le nom à leur donner dans le cadre de ce filtre.
Ces fichiers sont à placer dans le répertoire /usr/share/sso/app_filters
et doivent avoir le format suivant :
[section1]
libelle=variable
libelle2=variable2
....
[section2]
....
- section sert à la mise en forme de la réponse (pour CAS, un nœud dans le XML retourné lors de la validation du ticket)
- variable correspond à l'identifiant LDAP de la donnée utilisateur à récupérer
- libelle est le nom qui sera utilisé pour présenter cette donnée dans la réponse du serveur
Le choix d'un filtre d'attribut est conditionné par l'adresse du service à atteindre (voir chapitre précédent). Il est également possible de créer dans le répertoire app_filters
des fichiers de filtres globaux dont les attributs seront ajoutés à tous les filtres.
Le format est le même, mais ces fichiers doivent avoir l'extension .global
.
Dans le cas ou un attribut défini dans un filtre global existe également dans le filtre d'une application, c'est la définition spécifique à l'application qui sera prise en compte lors de l'envoi des attributs à celle-ci.
Attention
Si vous souhaitez appeler la méthode statique getUser(…)
dans votre application il est impératif d'utiliser au minimum la correspondance user=uid
dans votre filtre. Sinon l'authentification ne peut pas aboutir : CAS Authentification failed !
Exemple
Exemple de fichier de profil stocké dans /usr/share/sso/app_filters/mon_filtre.ini
(correspond à l'exemple du paragraphe précédent).
[utilisateur]
user=uid
codeUtil=uidNumber
nom=sn
prenom=givenName
niveau=niveau
mail=mail
[etablissement]
codeRNE=rne
nomEtab=nom_etab
Complément
Si vous utilisez EoleSSO dans le cadre d'une distribution EOLE, un certain nombre de filtres et de définitions d'applications sont disponibles.
Il faut installer le paquet envole-conf-sso
avec la commande apt-get install envole-conf-sso pour les récupérer.
Les filtres sont installés dans /usr/share/sso/filters_available
et /usr/share/sso/applications/available
.
Pour les utiliser, recopiez les fichiers voulus dans /usr/share/sso/app_filters
et rechargez la configuration du service avec la commande service eole-sso reload
Fédération avec une entité partenaire
Le serveur EoleSSO permet de réaliser une fédération vers un autre serveur EoleSSO, ou vers d'autre types de serveurs compatibles avec le protocole SAML (version 2). Les sections suivantes détaillent la mise en œuvre d'une telle solution suivant 2 méthodes différentes.
- Une première méthode de fédération simplifiée est gérée via la notion de serveur parent. Elle est utilisable uniquement entre deux serveurs EoleSSO et présente un certain nombre de limitations.
- La deuxième méthode, plus complète mais également plus complexe à mettre en œuvre, est gérée par l'implémentation d'un certain nombre d'éléments du protocole SAML[99] dans sa version 2. Ce type de fédération est compatible avec d'autres produit, et a principalement été testé pour une fédération avec la plateforme RSA/FIM. Des tests sont également en cours pour une fédération vers des ENT comme k-d'école de la société Kosmos.
Déclaration d'un serveur parent
Le fait de renseigner un serveur parent (serveur B) dans la configuration du serveur EoleSSO (serveur A) permet de fédérer ces deux serveurs. Cette solution correspond plus à une agrégation des référentiels des deux serveurs plutôt qu'à une fédération.
On considère par exemple que le serveur A est installé dans un établissement scolaire (annuaire local), et le serveur B est situé dans un rectorat (branché sur un annuaire académique).
Une fois l'adresse du serveur parent renseignée, le comportement sera le suivant :
Lorsqu'un utilisateur se connecte sur le serveur A, le serveur va d'abord vérifier le couple login/mot-de-passe auprès du serveur B (par un échange XMLRPC encapsulé dans le protocole HTTPS).
Si le serveur B indique une erreur d'authentification, l'authentification va alors être vérifiée localement (sur l'annuaire du serveur A).
En cas de réussite, une session SSO est établie pour le serveur A, et l'utilisateur sera authentifié auprès des services configurés pour utiliser A. Dans le cas contraire, on considère que l'authentification a échoué.
On retrouve donc ici le même schéma de fonctionnement que si le serveur A n'avait pas de serveur parent.
Si le couple login/mot-de-passe est accepté par le serveur B, une session locale 'déportée' est créée sur le serveur A. L'utilisateur est considéré comme authentifié, mais lors des échanges avec les applications, les validations seront faites auprès du serveur B.
Le serveur A va également rediriger le navigateur de l'utilisateur vers le serveur B afin qu'un cookie de session soit créé pour celui-ci (il redirige sur le serveur A une fois le cookie créé). A la fin de cette procédure, l'utilisateur est donc identifié en même temps sur les serveurs A et B. La durée de validité de la session est gérée par le serveur B qui refusera toute validation au serveur A une fois sa session expirée.
Attention
Limitations de ce système :
- Cette solution n'est pas à proprement parler un système de fédération des 2 serveurs. Il est recommandé de l'utiliser seulement dans des cas assez simples d'utilisation, par exemple pour permettre aux personnel des équipes académiques de se connecter avec leur identifiants dans un établissement (il faut ensuite prévoir de leur attribuer des droits dans les applications, ou un profil d'administrateur sur l'EAD, ...)
- Le système de serveur parent se base sur l'adresse IP du serveur parent. Pour des raisons de sécurité (attaques de types man in the middle[112]), il est conseillé d'utiliser cette solution dans le cadre d'un réseau sécurisé (par exemple, à travers un RVP). Le cas échéant, on préférera la solution proposée dans le paragraphe suivant.
Fédération SAML : Gestion des Associations
La solution retenue pour effectuer une fédération entre deux systèmes est l'utilisation de messages SAML[99] pour transmettre les informations d'authentification.
La mise en place de cette fédération s'effectue en deux étapes :
- définition des attributs permettant de retrouver les utilisateurs dans les référentiels des deux systèmes (clé de fédération) ;
- échange de fichiers de méta-données (métadata[113]) et de certificats entre les deux entités pour établir un lien de confiance.
Pour que la fédération soit possible, il faut pouvoir établir une correspondance entre les utilisateurs des deux entités partenaires.
Pour cela, il est nécessaire de définir les attributs qui seront utilisés de chaque côté pour faire la jointure entre les deux référentiels.
configuration en tant que fournisseur de service
Jeux d'attributs
Le fichier de méta-données du serveur EoleSSO indique quels attributs sont requis pour identifier les utilisateurs dans son référentiel (l'annuaire LDAP).
Cette partie des méta-données est calculée depuis les fichiers de jeux d'attributs présents dans le répertoire /usr/share/sso/attribute_sets
(voir plus loin). Après création ou modification de ces fichier, le serveur doit être relancé (reload est suffisant) pour que les méta-données soient mises à jour.
Attention
Le fichier attributes.ini
présent sur les anciennes versions n'est plus utilisé. Des jeux d'attributs différents pouvant être assignés à chaque fournisseur d'identité, il peut être gênant de forcer les attributs requis en mode fournisseur de service. (voir paragraphe suivant).
Un numéro d'index est attribué automatiquement à chaque jeu d'attribut au démarrage du serveur (ne le renseignez pas vous même). Dans le cas ou les fichiers de jeux d'attributs seraient perdus, il faudra envoyer à nouveau le fichier metadata du serveur aux entités partenaires afin que la nouvelle numérotation soit prise en compte.
Pour retrouver les utilisateurs après réception d'une assertion en provenance d'un fournisseur de service, le serveur EoleSSO va utiliser un jeu d'attributs. Ceux-ci sont renseignés dans des fichiers au format .ini
situés dans /usr/share/sso/attribute_sets/
.
Le format des fichiers est :
[user_attrs]
attribut_1=attribut_a
attribut_2=attribut_b
....
[optional]
attribut_3=attribut_c
....
[branch_attrs]
attribut_x=element_dn_y
....
Les attributs de gauche correspondent aux attributs reçus dans l'assertion du fournisseur d'identité, ceux de droite correspondent aux attributs auxquels il doivent correspondre localement.
La section branch_attrs
permet d'utiliser certains attributs pour déterminer une branche de l'annuaire dans laquelle rechercher l'utilisateur.
Cela permet de limiter les problèmes dans le cas où des utilisateurs peuvent avoir le même identifiant dans l'annuaire (par exemple, dans le cas d'une fédération basée sur l'uid de l'utilisateur à destination d'un serveur Seshat répliquant l'annuaire de plusieurs Scribe).
Pour ces attributs, le fonctionnement est le suivant :
- lors de la recherche de l'utilisateur, le serveur va rechercher une correspondance sur 'element_dn_y=valeur_attribut_x' dans la liste des annuaires qui sont répliqués par le serveur LDAP local ;
- si plusieurs attributs de ce type sont renseignés, la branche de recherche devra correspondre à tout ces attributs.
Par exemple, si on renseigne rne=ou
et que les attributs de l'utilisateur recherché contiennent rne=0000000A
, le serveur EoleSSO va utiliser une branche d'annuaire dont la base de recherche contient ou=0000000A.
Les attributs de la section user_attrs
(ou toute autre section différente de branch_attrs
ou optional
) seront utilisés pour retrouver l'utilisateur correpondant à la réponse du fournisseur d'identité dans le(s) serveur(s) LDAP utilisé(s) par EoleSSO.
Tous les attributs de droite doivent exister côté fournisseur de service.
Les attributs de la section optional
seront envoyés ou non à l'initiative du fournisseur d'identité.
Si ils sont envoyés dans la réponse, ils seront intégrés aux attributs stockés dans la session SSO de l'utilisateur. Si un attribut local avec le même nom qu'un attribut optionnel existe, c'est l'attribut local qui sera conservé. Cela permet de rajouter des attributs provenant du fournisseur d'identité aux attributs connus dans le référentiel du fournisseur de service.
Par exemple, avec le fichier ci-dessus, le fournisseur de service peut récupérer l'attribut attribut_c
dans la réponse du fournisseur d'identité et le stocker en tant qu'attribut_3
dans la session locale.
AttentionCadre d'utilisation
L'utilisation des attributs de type branch_attrs
est pour l'instant limitée au cas suivant :
l'annuaire est sur le serveur hébergeant le service EoleSSO ;
l'annuaire est configuré pour répliquer l'annuaire d'autres serveurs (les branches de recherche correspondant aux différents serveurs répliqués sont récupérées dans /etc/ldap/replication.conf).
Dans l'état actuel, cela correspond typiquement à un service EoleSSO présent sur un serveur Seshat en académie (avec réplication de plusieurs serveurs Scribe).
Dans le cadre de l'utilisation de serveurs Scribe et Seshat, il est plutôt recommandé d'utiliser la configuration par défaut (fédération sur l'attribut FederationKey récupéré depuis l'annuaire fédérateur AAF).
Configuration de l'association avec un fournisseur d'identité
Le fichier /usr/share/sso/attribute_sets/associations.ini
permet de définir les options de fédération pour chaque fournisseur de service partenaire. Sa syntaxe est la suivante
[nom_entité1]
option=valeur
[nom_entité2]
option=...
Le nom de l'entité doit être le nom de l'entité SAML apparaissant dans le fichier métadata du partenaire concerné (entityID
).
Tout fichier de type .ini commençant par 'associations
' pourra également être utilisé. Cela peut permettre, par exemple, de distribuer une association correspondant à un serveur Seshat fournisseur de services en académie sur l'ensemble des serveurs Scribe d'une académie. (en passant par une variante dans Zéphir).
Il est possible de spécifier les paramètres supplémentaires suivants pour chaque association avec un fournisseur d'identité (tous facultatifs) :
-
attribute_set
: nom du jeu d'attributs à utiliser (correspond au nom du fichier de ce jeu, sans l'extension .ini) -
allow_idp
('true' par défaut) : si spécifié à 'false', aucune assertion provenant du fournisseur d'identité ne seront prises en compte. -
allow_idp_initiated
('true' par défaut) : si spécifié à 'false', les assertions envoyées par le fournisseur d'identité sans requête préalable ne seront pas traitées. -
force_auth
('false' par défaut) : si spécifié à 'true', le fournisseur d'identité demandera ses identifiants à l'utilisateur, même si celui ci était déjà connecté. -
passive
('false' par défaut) : si spécifié à 'true', le fournisseur d'identité ne demandera pas ses identifiants à l'utilisateur, même si il n'est pas reconnu. Dans ce cas, une réponse négative sera renvoyée par le fournisseur d'identité. -
default_service
(aucun par défaut): si une url est renseignée ici, elle sera utilisée comme service de destination par défaut si aucun service n'est indiqué pendant le processus de fédération. -
default_logout_url
: Adresse sur laquelle lorsqu'une déconnexion a été initiée par le fournisseur de service (utilisée seulement si la session a été établie depuis ce fournisseur d'identité). Cela permet par exemple de rediriger sur la mire du fournisseur d'identité. -
force_logout_url
('false' par défaut) : Force la redirection sur l'url décrite ci dessus, même si une autre url à été spécifiée dans la demande de déconnexion (par défaut, c'est donc l'url passée en paramètre est prioritaire). -
req_context
: niveau d'authentification requis pour accepter une assertion. Les valeurs reconnues par EoleSSO sont 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport' (par défaut, mot de passe saisi depuis une page sécurisée) et 'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken' (connexion par clé OTP) -
comparison
: opérateur de comparaison du niveau d'authentification indiqué par le fournisseur d'identité avec le niveau défini dans req_context. Par défaut cet opérateur estexact
(valeur identique). Il est possible d'utiliserminimum
(équivalent ou supérieur à),maximum
(inférieur à) etbetter
(strictement supérieur à).
Truc & astuce
Dans le cas d'une fédération entre des serveurs scribes et un serveur seshat avec réplication des annuaires scribe en central, il peut être utile de définir sur Seshat le paramètre default_logout_url pour chaque établissement fédéré.
Cela permet de revenir automatiquement sur le portail de l'établissement après une déconnexion depuis le portail ou un service de Seshat (l'utilisateur s'étant connecté à l'origine en établissement). Un script est fourni (/usr/share/sso/get_domains.py
) pour essayer de déterminer automatiquement l'adresse du portail de chaque établissement en s'appuyant sur le serveur Zéphir.
Si le nom d'entité est default
, les options définies seront utilisées par tous les fournisseurs d'identité n'ayant pas de valeur spécifique définie dans leur section. Dans le cas où aucune association avec default
n'est présente, le fichier default.ini
fourni avec le serveur sera utilisé comme association par défaut (et les options par défaut sont celles décrites ci-dessus).
Attention
Par défaut, aucun fichier d'association n'est fourni. Il faut ajouter manuellement la section correspondant à un fournisseur d'identité pour modifier les paramètres d'association avec les entités définies dans les métadonnées.
L'option allow_idp
étant à 'true' par défaut, cela veut dire que tout fournisseur d'identité décrit dans les fichiers de métadonnées sera considéré comme valide (les assertions venant de lui seront traitées).
Pour avoir plus de contrôle sur les fournisseurs d'identité valides, Il est possible par exemple de redéfinir cette valeur à 'false
' pour l'entité default
, puis de la définir à 'true
' au cas par cas pour chaque fournisseur d'identité que l'on veut autoriser.
Truc & astuce
Pour vérifier que les jeux d'attributs sont bien pris en compte :
- relancer le serveur ou recharger la configuration avec la commande CreoleService eole-sso restart (ou reload)
- consulter les logs du serveur (
/var/log/rsyslog/local/eolesso/eolesso.info.log
). Si un jeu d'attribut est disponible pour une entité, une mention apparaîtra à côté de son nom. Par exemple :
2010/06/03 15:22 +0200 [-] - Fournisseur de services configuré : urn:fs:ac-dijon:etablissements:1.0
2010/06/03 15:22 +0200 [-] - Fournisseur de services configuré : urn:fi:ac-dijon:et-Collège du parc:1.0 (jeu d'attributs : parc)
Ici, le premier fournisseur utilisera le jeu d'attributs par défaut, alors que le deuxième utilisera un jeu spécifique.
Configuration en tant que fournisseur d'identité
Dans ce mode de fonctionnement, le serveur EoleSSO va envoyer des messages SAML à un partenaire fournisseur de service pour lui permettre de valider l'identité de l'utilisateur connecté. Les attributs envoyés dans ce message dépendent du filtre qui est appliqué lors de l'envoi du message (voir les paragraphes précédents sur la gestion des attributs).
Par défaut, le serveur EoleSSO va utiliser les attributs définis dans le filtre SAML (/usr/share/sso/app_filters/saml.ini
). Il est également possible de spécifier un filtre d'attributs différent en fonction du fournisseur de service auquel la réponse est envoyée. Pour cela, il faut créer une description d'application correspondant à l'URL de réception des messages du fournisseur de services, et lui associer un filtre renvoyant les attributs voulus.
Truc & astuce
Dans le cas d'une fédération SAML, il est possible de renseigner directement le nom de l'entité partenaire au lieu de décrire l'URL de réception des messages. Par exemple, la section suivante est suffisante pour déclarer un filtre :
[mon_partenaire_saml]
(indicatif, affiché dans les logs au démarrage du serveur)sp_ident=id_entité_fournisseur_service
(entityID dans le fichier metadata)filter=nom_filtre
(nom du fichier de filtre sans l'extension .ini
)
Dans le cas où le filtre appliqué ne permettrait pas d'envoyer au fournisseur de service tous les attributs qu'il a indiqué comme requis (dans son fichier de méta-données), un message d'erreur apparaît à l'envoi des informations d'authentification.
Exemple
Dans le cadre d'une fédération d'un serveur Scribe en établissement avec un serveur EOLE (par exemple un module Seshat) situé dans les services académiques, nous utilisons l'adresse mail académique comme attribut de fédération (celle-ci est stockée sur Scribe dans l'attribut FederationKey lors de l'import de fichiers extraits de l'annuaire fédérateur).
Par défaut, le serveur est configuré pour utiliser cet attribut comme clé de jointure.
Le filtre utilisé par défaut lors de l'envoi d'assertion d'authentification (/usr/share/sso/app_filters/saml.ini
) envoie l'attribut FederationKey dans le message envoyé au fournisseur de service.
Fédération SAML : Gestion des méta-données
Pour permettre d'établir un lien de confiance avec une entité partenaire, le serveur EoleSSO utilise des fichiers métadata[113] comme défini dans les standards SAML.
Envoi des informations du service EoleSSO à un partenaire :
- Le fichier métadata du service EoleSSO doit être mis en place sur le serveur partenaire. La procédure varie suivant le logiciel utilisé. Ce fichier est disponible sur le serveur à l'adresse
https://<adresse_serveur_eolesso>:8443/saml/metadata
- Dans le cas où ils ne sont pas pris en compte depuis le fichier de métadata, les certificats du serveur doivent être envoyés séparément, et parfois convertis vers un autre format. Le certificat utilisé par défaut dans le cadre d'un serveur EOLE est /etc/ssl/certs/eole.crt, sauf si l'utilisation d'un autre fichier a été configurée (voir l'exemple de fédération avec un serveur RSA/FIM dans les annexes pour un exemple de conversion du certificat)
- Le fichier métadata du service EoleSSO doit être mis en place sur le serveur partenaire. La procédure varie suivant le logiciel utilisé. Ce fichier est disponible sur le serveur à l'adresse
Mise en place des information du partenaire sur le serveur EoleSSO :
- Le fichier métadata de l'entité partenaire doit être mis en place sur :
/usr/share/sso/metadata/<nom_fichier>.xml
. Si possible utilisez un nom court, car le nom du fichier (sans le .xml) peut être utilisé dans des URLs pour faire référence à l'entité au lieu d'utiliser son identifiant SAML. - Une fois le fichier en place, il faut redémarrer le service EoleSSO pour qu'il soit pris en compte : CreoleService eole-sso restart (reload est suffisant dans ce cas)
- Le fichier métadata de l'entité partenaire doit être mis en place sur :
Attention
Si l'entité partenaire n'est pas un serveur EoleSSO, il faut vérifier que les informations suivantes sont disponibles dans le fichier métadata fourni :
- Certificat de signature des messages
- L'entité doit être capable de recevoir et envoyer des messages en utilisant les bindings
HTTP-Redirect
ou HTTP-POST. Actuellement, le serveur EoleSSO ne gère pas les bindingsHTTP-Artifact
etSOAP/PAOS
. - En mode fournisseur de service, le serveur EoleSSO ne gère pas le service
Idp Discovery
(détection automatique du fournisseur d'identité à l'aide d'un cookie sur un domaine commun). Il est possible cependant d'initier le processus d'authentification en tant que fournisseur de service en spécifiant le fournisseur d'identité à interroger.
Fédération SAML : Accès aux ressources
Activation des différents rôles dans un accord de fédération
Pour résumer, une fois les fichiers de métadata échangés entre EoleSSO et une entité partenaire (protocole SAML), les différents rôles disponibles sont conditionnés comme suit :
Si un fichier de description de l'entité partenaire (soit par l'URL de réception des assertions, soit par son nom d'entité) est présent dans
/usr/share/sso/app_filters
, EoleSSO pourra envoyer des assertions à ce partenaire en tant que fournisseur d'identité.Si le nom d'entité du partenaire est présent dans un fichier d'association dans le répertoire
/usr/share/sso/attribute_sets
, ce partenaire pourra jouer le rôle de fournisseur d'identité auprès d'EoleSSO. Si l'optionallow_idp_initiated
est àfalse
pour ce partenaire, ses assertions ne seront prises en compte que si elles font suite à une requête d'authentification émise au préalable (via l'URLdiscovery
décrite ci-dessus).
Accéder à une ressource d'un fournisseur de service
Une fois la fédération mise en place entre EoleSSO et un fournisseur de service (FS), il est possible d'accéder aux services du FS à l'aide d'une URL au format suivant :
https://adresse_serveur_sso:8443/saml?sp_ident=id_fs&RelayState=service
id_fs
est soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta données), soit le nom de son fichier de méta données placé dans /usr/share/sso/metadata
(sans l'extension .xml).
RelayState
est une information indiquant au fournisseur de service ou rediriger l'utilisateur une fois son identité confirmée. Les données à envoyées peuvent être l'URL d'une application protégée par le fournisseur de service, l'identifiant de l'établissement depuis lequel l'utilisateur se connecte, ... (variable suivant le fournisseur de service).
L'accès à cette URL va déclencher la cinématique suivante :
vérification par le serveur EoleSSO de la session SSO de l'utilisateur (si il n'est pas connecté, une nouvelle session est établie après saisie des identifiants) ;
génération et envoi d'une réponse SAML au FS pour lui indiquer l'identité de l'utilisateur ;
Traitement de la réponse reçue par le fournisseur de service et recherche des informations sur l'utilisateur dans le référentiel du FS (profil associé, permissions, ...) ;
Redirection de l'utilisateur sur la ressource définie par RelayState (ou sur une ressource définie par défaut le cas échéant).
Accéder à une ressource en tant que fournisseur de service
Dans le cas où le serveur EoleSSO est utilisé comme fournisseur de service, l'accès à une ressource peut se faire de 2 façons :
en envoyant directement une réponse SAML d'authentification sur l'URL de traitement des assertions d'EoleSSO (FS) depuis le fournisseur d'identité (processus dit 'IDP initiated'). Une URL de service à atteindre peut être fournie par le paramètre RelayState.
en envoyant une requête SAML d'authentification depuis EoleSSO (FS) en spécifiant le fournisseur d'identité à interroger et le service à atteindre après authentification (méthode préférable).
Dans les 2 cas, une fois l'assertion reçue validée, une session est établie sur le serveur EoleSSO.
L'utilisateur est ensuite redirigé sur l'URL du service à atteindre (il est possible de définir un service par défaut pour chaque fournisseur d'identité, voir le chapitre précédent concernant la configuration des associations).
Exemple
Dans le cas d'un serveur Scribe servant de fournisseur de service, il est possible par exemple de spécifier dans RelayState l'accès à l'application Pydio (accès au FTP de Scribe). Si le fournisseur d'identité est également un serveur EoleSSO (adresse_FI), l'accès se fera à travers l'adresse suivante (cas 1) :
https://adresse_FI:8443/saml?sp_ident=id_scribe&RelayState=https://adresse_scribe/pydio
L'adresse à utiliser dans le cas 2 serait la suivante :
https://adresse_scibe:8443/discovery?idp_ident=id_fournisseur_identite&return_url=https://adresse_scribe/pydio
Gestion de la Déconnexion
Le serveur EoleSSO intègre la notion de déconnexion unique (single logout) dans le cadre de l'établissement d'un lien de fédération.
La procédure de déconnexion peut être initiée de deux façons.
Directement depuis le service EoleSSO, en accédant à l'URL : https://adresse_serveur_sso:8443/logout;
En utilisant le système de déconnexion de l'entité partenaire si celle-ci gère également la déconnexion unique.
Dans le deuxième cas, une demande de déconnexion au format SAML est envoyée au service EoleSSO, qui va enclencher la déconnexion et envoyer une confirmation une fois la procédure terminée (une adresse de redirection peut également être fournie avec la demande de déconnexion).
Une fois la procédure de déconnexion enclenchée, EoleSSO va envoyer une demande de déconnexion SAML à chaque entité partenaire sur laquelle l'utilisateur a établi une session par fédération.
Dans le cas où EoleSSO est également utilisé pour accéder à des applications locales, par exemple, pour le portail Envole du serveur Scribe, Il va également envoyer des requêtes de déconnexion aux applications ayant demandé un ticket au serveur SSO (ce comportement peut être désactivé dans la configuration du serveur).
Attention
Le mode de fonctionnement de la déconnexion unique est basé sur une suite d'aller-retours (par redirection) vers les différentes entités.
Dans le cas où une erreur se produit lors de la procédure de connexion sur une entité partenaire, il se peut que la procédure s'arrête dans un état de déconnexion partielle (la déconnexion n'est pas propagée à toutes les entités).
Dans ce cas, plusieurs solutions sont prévues pour limiter le problème :
- si l'URL de déconnexion du serveur EoleSSO est à nouveau sollicitée, le serveur va considérer que la dernière requête de déconnexion envoyée a échoué et va reprendre la procédure en passant au partenaire suivant.
- si une autre URL du serveur est sollicitée (création d'une nouvelle session, demande d'authentification par une application, ...), la session SSO précédente est dans tous les cas invalidée par le serveur (il devra donc se ré-authentifier).
Dans le dernier cas, il se peut que l'utilisateur possède toujours une session sur une entité partenaire.
La seule façon de résoudre le problème est de fermer le navigateur.
Gestion des sources d'authentification multiples
Il est possible de se retrouver confronté à des problèmes d'utilisateurs homonymes dans le cas où plusieurs annuaires sont utilisés comme source d'authentification ou dans le cadre d'un réplica d'annuaire distant comme c'est le cas avec le module Seshat.
EoleSSO a été amélioré pour prendre en compte ce problème.
Principe de fonctionnement
Si plusieurs annuaires sont configurés, EoleSSO va gérer une branche de recherche par annuaire. Lorsqu'un utilisateur va saisir son identifiant, une recherche va être effectuée dans chaque annuaire afin de vérifier si celui-ci est présent plusieurs fois. Si c'est le cas, une liste va être affichée pour permettre à l'utilisateur de choisir sa provenance.
La liste affichée est basée sur le libellé renseigné pour chaque annuaire dans l'interface de configuration du module. Il convient donc de bien renseigner ces informations pour que l'utilisateur soit capable de choisir.
Cas particulier : la réplication d'annuaire (Scribe/Seshat)
Gestion de la liste de choix de la source d'authentification
Dans le cadre de la réplication, l'unique annuaire à utiliser est celui du serveur hébergeant EoleSSO.
Des procédures ont été mises en place pour gérer automatiquement des branches de recherche sur chaque annuaire répliqué.
La procédure active_replication
nécessite que les 2 serveurs (serveur répliqué/serveur de réplication) soient enregistrés sur le serveur Zéphir.
Lorsque le serveur Zéphir va envoyer au serveur répliquant les éléments nécessaires à la mise œuvre de la réplication, il va également lui envoyer un fichier décrivant l'établissement dans lequel la machine répliquée est installée (le libellé doit donc être renseigné correctement dans l'application Zéphir).
Sur le module Seshat, il est possible de demander manuellement une récupération de ce fichier auprès du serveur Zéphir en lançant le script :
/usr/share/sso/update_etabs.py
Les informations sont stockées dans le fichier /etc/ldap/replication/zephir/etabs.ini
dont le format est le suivant :
[rne]
libelle_etab=....
type_etab=....
portail_etab=...
Ces informations sont détectées automatiquement par le serveur Zéphir lorsque c'est possible.
Le numéro RNE sert à faire la liaison avec les branches de recherche disponibles dans EoleSSO (en se basant sur le DN qui est du type ou=<rne>,ou=ac-<academie>,ou=education,o=gouv,c=fr
).
Le type d'établissement permet de créer des sections dans la liste présentée à l'utilisateur afin d'en faciliter la lecture.

Truc & astuce
Dans le cas où toutes les informations ne sont pas détectées ou en cas de données mal renseignées dans l'application Zéphir, il est possible de modifier ou d'ajouter des informations en créant un(des) fichier(s) au même format.
Ils sont à placer dans le répertoire /etc/ldap/replication
et doivent se nommer etabs_xxx.ini
(la partie xxx n'est pas déterminante). Les données présentes dans ces fichiers seront prioritaires sur celles remontées par le serveur Zéphir.
Par exemple, le fichier suivant permet de corriger l'adresse du portail ENT de l'établissement 000000A1 (si celle-ci n'est pas correcte ou absente). Les autres informations remontées par le serveur Zéphir seront conservées (libellé et type d'établissement)
/etc/ldap/replication/etabs_perso.ini
[000000A1]
portail_etab=ent.mon_etab.ac-acd.fr
Dans l'affichage final (voir capture d'écran ci dessus), le libellé de l'établissement sera affiché en majuscules.
Si une description commence par le type d'établissement (ex : COLLEGE VICTOR HUGO), celui-ci sera supprimé pour simplifier l'affichage.
Au démarrage du service eole-sso
, ces informations sont lues et rassemblées dans le fichier /usr/share/sso/interface/scripts/etabs.js
qui est utilisé pour générer la liste des établissements dans lesquels un identifiant donné est présent.
Si l'application eole-dispatcher
est installée sur la machine, un fichier d'informations est également généré pour celle-ci dans /var/www/html/dispatcher/utils/etabs.ini
. Cette application permet de rediriger automatiquement les utilisateurs vers les portails ENT auxquels ils ont accès (pour plus d'informations, se reporter aux annexes).
Aide au choix de la source d'authentification
Lorsque des homonymes sont détectés, la mire d'authentification va générer la liste des choix disponibles.
Pour aider l'utilisateur dans sa décision, différentes informations sont affichées.
Si un fichier /usr/share/sso/interface/login_help.tmpl
est présent, un lien apparaîtra sur la mire d'authentification (Quel est mon identifiant?
). Un survol de ce lien avec la souris fait apparaître le contenu du fichier sous forme d'un cadre en surimpression (classes liées à a.aide
dans la feuille de style).
Un exemple est fourni dans le fichier /usr/share/sso/interface/login_help_example.tmpl
.
Le but de ce cadre est d'indiquer à l'utilisateur l'identifiant qu'il doit utiliser.

Un deuxième cadre d'information est affiché lorsque des homonymes ont été trouvés pour l'identifiant saisi par l'utilisateur (#homonyme
et #homonymetext
dans la feuille de style).
Le contenu de celui-ci est conditionné par les choix disponibles. Le but est d'aider à choisir parmi les sources proposées.
Le début du texte est générique et indique à l'utilisateur que plusieurs entrées sont disponibles pour l'identifiant renseigné.
Il est ensuite possible de spécifier un fichier d'information pour chaque annuaire LDAP, dont le contenu sera ajouté au cadre si l'identifiant entré y est présent (l'information doit donc être au format HTML).
Un exemple est fourni dans /usr/share/sso/interface/personnel_acad.html
, et donne le résultat suivant :

Personnalisation de la mire SSO
Ce chapitre répertorie les différentes possibilités offertes pour personnaliser l'apparence de la page d'authentification du serveur EoleSSO (pour une meilleure intégration dans l'environnement existant, et en particulier dans le cadre d'un portail d'accès aux ressources d'un établissement).
Message d'avertissement (CNIL)
Il est prévu de pouvoir afficher un message relatif à la déclaration CNIL du site.
- mettre le texte du message d'avertissement (formaté en HTML) dans un fichier
avertissement.txt
qui est à placer dans le répertoire/usr/share/sso/interface/theme
; - relancer le service : CreoleService eole-sso restart
ExempleExemple de déclaration
Conformément à la loi, nous vous informons que ce site a fait l'objet d'une déclaration de traitement automatisé d'informations nominatives auprès de la CNIL Loi du 6 janvier 1978 relative à l' « Informatique et aux Libertés » :<br />
Conformément à la loi n° 78-17 du 6 janvier 1978, vous pouvez à tout moment accéder aux informations personnelles vous concernant et détenues par l'établissement, demander leur modification ou leur suppression. Ainsi, vous pouvez, à titre irrévocable, demander que soient rectifiées, complétées, clarifiées, mises à jour ou effacées les informations vous concernant qui sont inexactes, incomplètes, équivoques, périmées ou dont la collecte ou l'utilisation, la communication ou la conservation est interdite.<br/>
Pour toutes demandes, veuillez contacter l'administrateur à l'adresse : administrateur@etablissement.fr
CSS : Méthode 1
La feuille de style par défaut /usr/share/sso/interface/main.css
importe les feuilles de style ./theme/style/theme.css
et ./leaves.css
:
[ …]
@import url(./leaves.css);
@import url(./theme/style/theme.css);
[…]
Comme le fichier ./theme/style/theme.css
est appelé en deuxième dans la feuille il va permettre une surcharge de la première feuille de style ./leaves.css
.
Éditer le fichier vide ./theme/style/theme.css
appelé dont le chemin absolu est /usr/share/sso/interface/theme/style/theme.css
.
S'inspirer des balises de style utilisées dans le fichier /usr/share/sso/interface/leaves.css
pour les surcharger.
Utiliser le répertoire /usr/share/sso/interface/theme/images
pour ajouter vos images.
Recharger votre page d'authentification sans même redémarrer le service eole-sso
, la feuille de style est importée avec les modifications.
Attention
Cette méthode n'est pas compatible avec la personnalisation Envole Thèmes. Celui-ci écrase le contenu du fichier /usr/share/sso/interface/theme/style/theme.css
à chaque reconfigure. Il est possible d'enlever Envole Thèmes avec la commande suivante : # apt-get remove eole-envole-themes
CSS : Méthode 2
Un certain nombre de thèmes sont fournis dans le répertoire /usr/share/sso/interface/themes/
.
Il suffit de copier le thème voulu pour le rendre actif :
# /bin/cp -R /usr/share/sso/interface/themes/<nomDuTheme>/* /usr/share/sso/interface/theme
Recharger votre page d'authentification sans même redémarrer le service eole-sso
, la feuille de style est importée avec les modifications.
Truc & astuce
N'hésitez pas à proposer votre thème, il sera ajouté au paquetage et reversé à la communauté d'utilisateurs.
CSS : Méthode 3
La feuille de style CSS par défaut utilisée lors de l'affichage de la page d'authentification au portail est :
/usr/share/sso/interface/leaves.css
Il est possible d'utiliser une feuille de style CSS personnalisée pour la mire SSO.
Les fichiers CSS à utiliser sont à placer dans :
/usr/share/sso/interface/
Dupliquer la feuille de style originale sous un autre nom.
Modifier à volonté votre_nouvelle_feuille.css
Renseigner le nom de votre feuille sans l'extension (.css
) dans l'onglet Eole sso
depuis l'interface de configuration du module.
Réaliser autant de feuilles de style que souhaités.
Remarque
Si vous faites appel à des images, placez-les dans :
/usr/share/sso/interface/images/
Il est possible de passer le nom de la CSS en paramètre dans URL :
http://<adresse_serveur>/css=<nom_de_la_feuille_CSS>
Si vous utilisez un client phpCAS, il faudra modifier le client pour utiliser cette méthode (les URLs sont calculées par le client).
Truc & astuceChoix de la CSS par le filtre SSO
Si un fichier CSS porte le même nom qu'un filtre d'application (par exemple, ead2.css
), cette feuille de style CSS sera automatiquement utilisée lors des demandes à cette application (dans le cadre d'un portail web par exemple).
Configuration d'EoleSSO en mode cluster
Attention
Afin d'assurer le fonctionnement du service EoleSSO sur les dernières version d'Ubuntu, ce dernier a été adapté afin d'être exécuté dans un conteneur[17] logiciel Podman[101].
De ce fait, le fonctionnement en mode cluster tel qu'il était proposé dans les versions 2.7 et 2.8 d'EOLE n'a pas été conservé.
Répartition de charge EoleSSO en mode cluster
Cette documentation a pour but de décrire la mise en place d'une configuration HAProxy afin de pouvoir mettre plusieurs services EoleSSO en cluster et de gérer la répartition de charge.
Cette documentation décrit également la mise en place de 2 services pour suivre les métriques d'EoleSSO :
Prometheus : https://prometheus.io/
Grafana : https://grafana.net/
On suppose l’existence de 3 serveurs EoleSSO qui écoutent sur le port 443 dont les DNS sont les suivants :
sso-1.ac-academie.fr
;sso-2.ac-academie.fr
;sso-3.ac-academie.fr
.
Un quatrième serveur doit héberger le service ha-proxy avec pour nom DNS sso-ha.ac-academie.fr
.
Attention
Le serveur hébergeant le service ha-proxy du cluster doit avoir un nom de domaine différent de celui du cluster de serveur web même si les 2 noms de domaine pointent sur la même adresse IP.
Remarque
Pour maintenir et déployer la configuration (certificats pour stunnel, metadata, filtres, thèmes, CSS, attributs calculés) sur les différents serveurs EoleSSO il est possible d'utiliser Ansible.
Installation d'HAProxy
Sur le serveur sso-ha.ac-academie.fr
:
# apt-eole install haproxy
Configuration d'HAProxy
Procéder à la configuration basique d'HAProxy (non détaillée ici).
Éditer le fichier de configuration /etc/haproxy/haproxy.cfg et ajouter les lignes suivantes :
global
...
# Les serveurs étant gérés par vous, la vérification ssl peut être désactivée
ssl-server-verify none
frontend https-in
bind <IP DU SERVEUR SSO-HA>:443 ssl crt <CHEMIN DU CERTIFICAT PEM>
option forwardfor
redirect scheme https if !{ ssl_fc }
default_backend sso_servers
backend sso_servers
balance roundrobin
cookie SSONAME insert indirect nocache
server sso-1.ac-academie.fr sso-1.ac-academie.fr:443 ssl cookie sso1 check
server sso-2.ac-academie.fr sso-2.ac-academie.fr:443 ssl cookie sso2 check
server sso-3.ac-academie.fr sso-3.ac-academie.fr:443 ssl cookie sso3 check
Remarque
<IP DU SERVEUR SSO-HA> : est à remplacer par l'adresse IP de votre serveur HAProxy
<CHEMIN DU CERTIFICAT PEM> : chemin du certificat + key
Attention
Penser à redémarrer le service haproxy :
# service haproxy restart
Mise en place de Prometheus et de Grafana
Il faut mettre en place un serveur Prometheus qui sera chargé de collecter les données fournies par nos serveurs EoleSSO et mettre en place Grafana pour avoir un visuel des métriques.
Pour des raisons de simplicité, des micro-services docker sont utilisés pour fournir ces deux applications, aussi il faut installer les paquets docker
et docker-compose
.
Remarque
Il peut être intéressant de dissocier ces services du serveur HAPproxy, car il pourrait servir à d'autres serveurs, ce serveur de monitoring porte le nom DNS monitoring.ac-academie.fr
.
ExempleExemple de configuration de Prometheus
Exemple de configuration, contenu dans le fichier /shared/prometheus/monitoring-compose.yml
:
prometheus:
image: prom/prometheus
ports:
- 9090:9090
volumes:
- /shared/prometheus/etc/:/etc/prometheus/
- /shared/prometheus/data/:/prometheus
grafana:
image: grafana/grafana:4.1.1
ports:
- 3000:3000
volumes:
- /shared/prometheus/grafana/:/var/lib/grafana/
env_file:
- /shared/prometheus/grafana.config.monitoring
Configuration de Prometheus
Le fichier de configuration de prometheus /shared/prometheus/etc/prometheus.yml
contient :
global:
scrape_interval: 60s
scrape_configs:
- job_name: "eole_sso"
metrics_path: /metrics
scheme: https
tls_config:
insecure_skip_verify: true
static_configs:
- targets:
- sso-1.ac-academie.fr
- sso-2.ac-academie.fr
- sso-3.ac-academie.fr
Configuration de Grafana
Configuration de Grafana dans le fichier /shared/prometheus/grafana.config.monitoring
GF_SECURITY_ADMIN_PASSWORD=VOTRE_MOT_DE_PASSE_ADMIN
GF_USERS_ALLOW_SIGN_UP=false
http_proxy=PROXY_HOST:PROXY_PORT
https_proxy=PROXY_HOST:PROXY_PORT
Remarque
Modifier les valeurs de :
VOTRE_MOT_DE_PASSE_ADMIN
PROXY_HOST
PROXY_PORT
Truc & astuce
La documentation de Grafana décrit les paramètres possibles :
ExempleJSON pour le tableau de bord Grafana
{
"annotations": {
"list": []
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"hideControls": false,
"id": 16,
"links": [],
"refresh": "1m",
"rows": [
{
"collapse": false,
"height": 237,
"panels": [
{
"aliasColors": {
"sso-3": "#82B5D8",
"sso-1": "#7EB26D",
"sso-2": "#EAB839"
},
"bars": false,
"datasource": null,
"editable": true,
"error": false,
"fill": 7,
"grid": {},
"id": 9,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 0,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"span": 4,
"stack": true,
"steppedLine": false,
"targets": [
{
"expr": "eolesso_login_gauge",
"intervalFactor": 2,
"legendFormat": "{{host}}",
"metric": "eolesso_login_gauge",
"refId": "A",
"step": 120
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Nombre de tickets de login (TicketCache)",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"bars": true,
"datasource": null,
"editable": true,
"error": false,
"fill": 10,
"grid": {},
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": false,
"linewidth": 0,
"links": [],
"nullPointMode": "null as zero",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"span": 4,
"stack": true,
"steppedLine": true,
"targets": [
{
"expr": "(rate(eolesso_sessions_new_counter[10m]))*60*2",
"intervalFactor": 2,
"legendFormat": "{{host}} [{{authclass}}]",
"metric": "eolesso_sessions_new_counter",
"refId": "A",
"step": 120
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Nb connexions/s",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"aliasColors": {
"sso-3": "#82B5D8",
"sso-1": "#7EB26D",
"sso-2": "#EAB839"
},
"bars": false,
"datasource": null,
"editable": true,
"error": false,
"fill": 3,
"grid": {},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"span": 4,
"stack": true,
"steppedLine": false,
"targets": [
{
"expr": "eolesso_sessions_nb_gauge",
"intervalFactor": 1,
"legendFormat": "{{host}}",
"metric": "eolesso_sessions_gauge",
"refId": "A",
"step": 60
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Nombre de tickets de sessions (auth)",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
}
],
"repeat": null,
"repeatIteration": null,
"repeatRowId": null,
"showTitle": false,
"title": "Row",
"titleSize": "h6"
},
{
"collapse": false,
"height": "250px",
"panels": [
{
"aliasColors": {
"sso-3": "#82B5D8",
"sso-1": "#7EB26D",
"sso-2": "#EAB839"
},
"bars": false,
"datasource": null,
"editable": true,
"error": false,
"fill": 7,
"grid": {},
"id": 7,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"span": 6,
"stack": true,
"steppedLine": true,
"targets": [
{
"expr": "eolesso_calcdata_gauge",
"intervalFactor": 2,
"legendFormat": "{{host}}",
"metric": "eolesso_calcdata_gauge",
"refId": "A",
"step": 60
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "taille du cache des attributs calculés",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "decbytes",
"label": "Octets",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"aliasColors": {
"sso-3": "#82B5D8",
"sso-1": "#7EB26D",
"sso-2": "#EAB839"
},
"bars": false,
"datasource": null,
"editable": true,
"error": false,
"fill": 5,
"grid": {},
"id": 8,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"span": 6,
"stack": true,
"steppedLine": false,
"targets": [
{
"expr": "eolesso_userdata_gauge",
"intervalFactor": 2,
"legendFormat": "{{host}}",
"metric": "eolesso_userdata_gauge",
"refId": "A",
"step": 60
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "taille du cache des attributs ldap",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "decbytes",
"label": "Octets",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
}
],
"repeat": null,
"repeatIteration": null,
"repeatRowId": null,
"showTitle": false,
"title": "New row",
"titleSize": "h6"
},
{
"collapse": false,
"height": "250px",
"panels": [
{
"aliasColors": {
"sso.ac-reunion.fr:4430": "#82B5D8",
"sso.ac-reunion.fr:4431": "#E5A8E2",
"sso.ac-reunion.fr:4432": "#AEA2E0"
},
"bars": false,
"datasource": null,
"editable": true,
"error": false,
"fill": 0,
"grid": {},
"id": 3,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null as zero",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"span": 6,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "process_virtual_memory_bytes{job='eole_sso'}",
"intervalFactor": 2,
"legendFormat": "{{instance}}",
"refId": "A",
"step": 60
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 1517522817
}
],
"timeFrom": null,
"timeShift": null,
"title": "Mémoire utilisée",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "bytes",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"aliasColors": {
"sso-3": "#82B5D8",
"sso-1": "#7EB26D",
"sso-2": "#EAB839"
},
"bars": false,
"datasource": null,
"editable": true,
"error": false,
"fill": 4,
"grid": {},
"id": 1,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"span": 6,
"stack": true,
"steppedLine": false,
"targets": [
{
"expr": "eolesso_appticket_gauge{job='eole_sso'}",
"intervalFactor": 2,
"legendFormat": "{{host}}",
"metric": "eolesso_appticket_gauge",
"refId": "A",
"step": 60
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Nombre de Tickets applicatifs (AppTicket)",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
}
],
"repeat": null,
"repeatIteration": null,
"repeatRowId": null,
"showTitle": false,
"title": "New row",
"titleSize": "h6"
}
],
"schemaVersion": 14,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-12h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "browser",
"title": "SSO Copy",
"version": 0
}
Monitoring
Lancer l'environnement de monitoring
# cd /shared/prometheus/
# docker-compose -f prometheus-compose.yml start
Par défaut Grafana écoute sur le port 3000 et Prometheus sur le port 9090
Compléments de configuration EoleSSO
Résumé des fichiers et liens
Fichiers de configuration
Fichiers de base
-
/usr/share/sso/config.py
: fichier de configuration principal de l'application (sur un module Eole, la configuration est gérée via Creole) -
/usr/share/sso/app_filters/*_apps.ini
: définition des applications et spécification du filtre à utiliser -
/usr/share/sso/app_filters/*.ini
: fichiers de description des filtres d'attributs -
/usr/share/sso/user_infos/*.py
: fonctions de calcul d'attributs supplémentaires -
/usr/share/sso/interface/theme
: répertoire pour personnalisation de la CSS des pages d'authentification
Fichiers spécifiques au fonctionnement en mode SAML
-
/usr/share/sso/metadata/*.xml
: fichiers metadata des entités partenaires (doit contenir le certificat utilisé pour la signature des requêtes) -
/usr/share/sso/metadata/attributes.ini
: définition des attributs requis/optionnels en tant que fournisseur de service (obsolète) -
/usr/share/sso/attribute_sets/*.ini
: description de jeux d'attributs pour la fédération via SAML -
/usr/share/sso/attribute_sets/associations*.ini
: fichiers de configuration des associations avec des fournisseurs d'identité
URL principales
Toutes les URL du service EoleSSO décrites ci-dessous commencent par https://addresse_serveur:8443 (port par défaut, peut être différent suivant la configuration du service).
URL Générales
/ (sans paramètres)
: Page d'accueil, le formulaire d'authentification est présenté et une session SSO est créée après validation. Si l'utilisateur est déjà authentifié il est redirigé sur la page/loggedin
ou une liste des fédérations établies et des applications ayant un ticket est affichée/logout
: adresse de déconnexion de la session actuelle (gestion du Single Logout pour les protocoles le supportant)
URL spécifiques à CAS
/?service=X
: Adresse d'obtention d'un ticket CAS pour les applications clientes (à utiliser comme URI de base dans la configuration des clients CAS)service
est l'URL de l'application désirant obtenir un ticket. Une fois la validité de la session SSO vérifiée, le service EoleSSO redirige l'utilisateur sur cette URL en passant le ticket en paramètre (nom du paramètre :ticket
)
/validate?service=X&ticket=Y
(ou/serviceValidate
) : adresse de validation des tickets d'application CAS ;service
est l'URL du service pour lequel le ticket a été délivré
ticket
est le ticket a vérifier (de type ST)
/proxyValidate?service=X&ticket=Y&pgtUrl=Z
: adresse de validation des tickets d'application CAS en mode proxyticket
est le ticket à vérifier (de type ST ou PT) ;
/samlValidate
: adresse de validation des tickets CAS au format SAML 1. Les paramètres doivent être passés par méthode POST (méthode supportée par les client CAS java 3.1.X, phpCAS 1.1.0 et .NET CAS Client). Pour plus de détail sur, se reporter à la page http://en.wikipedia.org/wiki/SAML_1.1TARGET
: URL à laquelle la réponse doit être envoyée
Le corps de la requête doit contenir la requête SAML dans une enveloppe SOAP. Le ticket à valider est fourni comme valeur de l'élément AssertionArtifact
/proxy?pgt=X?targetService=Y
: adresse d'obtention d'un ticket de type proxy
URL spécifiques à SAML 2
/saml/metadata
: adresse de récupération des méta-données SAML du serveur (fournisseur d'identité et fournisseur de services)/saml?sp_ident=X&RelayState=Y&index=Z
: adresse à utiliser pour envoyer une assertion d'authentification SAML à un fournisseur de servicessp_ident
est l'identifiant de ce partenaire (ou le nom de son fichier metadata sans l'extension .xml)RelayState
est une information (URL ou autre) indiquant au partenaire où l'utilisateur doit être redirigé après la validation de l'assertion ;index
permet de forcer l'utilisation d'un binding particulier (voir le fichier de méta données pour les valeurs possibles)
/saml/acs
: adresse de traitement des assertions reçues en tant que fournisseur de services/discovery?idp_ident=X&return_url=Y
: adresse permettant d'envoyer un demande d'authentification à un fournisseur d'identitéidp_ident
est l'identifiant de ce partenaire (ou le nom de son fichier metadata sans l'extension .xml)return_url
est le service de destination sur lequel rediriger après authentification
Astuces d'exploitation
Journalisation du service
Le fichier de journalisation du service EoleSSO est /var/log/rsyslog/local/eolesso/eolesso.info.log
.
Il est possible d'activer un mode debug
affichant beaucoup plus d'informations dans le fichier de log.
Pour l'activer, ouvrez le fichier /usr/share/sso/config.py
et remplacer la ligne
DEBUG_LOG = False
par
DEBUG_LOG = True
Cette option de debug est à utiliser temporairement pour éviter de rendre les logs illisibles (et limiter l'espace disque utilisé). En cas de mise à jour du paquet eole-sso, elle sera réinitialisée à sa valeur par défaut.
Quand ce mode est activé, il est également possible d'afficher certaines requêtes SAML dans le navigateur en ajoutant un paramètre show=1
aux urls gérant leur envoi.
Cela est possible dans les cas suivants :
envoi d'une assertion d'authentification (ex :
/saml?sp_ident=X&show=1
)envoi d'une requête d'authentification (ex :
/discovery?idp_ident=X&show=1
)
Rechargement de la configuration du service
Il est possible de recharger le service EoleSSO (au lieu de le redémarrer) afin de prendre en compte de nouvelles données de configuration. Pour cela utilisez la commande suivante :
CreoleService eole-sso reload
L'avantage de cette méthode par rapport à CreoleService eole-sso restart
est que les sessions des utilisateurs en cours sont conservées.
Les données suivantes sont prises en compte lors du rechargement :
filtres d'attributs et description d'applications (situés dans
/usr/share/sso/app_filters
) ;jeu d'attributs et fichier de configuration d'associations (situés dans
/usr/share/sso/attribute_sets
) ;fichiers metadata des entités partenaires (situés dans
/usr/share/sso/metadata
) ;définitions d'attributs calculés (situés dans
/usr/share/sso/user_infos
).
Exemple de Fédération avec RSA/FIM
Préparation de la configuration FIM
Les données suivantes sont nécessaires pour configurer l'association dans FIM :
- Les méta-données du serveur EoleSSO : wget https://<ip_serveur_sso>:8443/saml/metadata --no-check-certificate --outputfile=eolesso.xml
- le certificat du serveur EoleSSO :
/etc/ssl/certs/eole.crt
(fichier par défaut, peut varier selon la configuration)
Si le certificat est au format PEM (c'est le cas du certificat par défaut sur un module EOLE), il faut le convertir au format DER : openssl x509 -inform PEM -outform DER -in eole.crt -out eole_der.crt
Une fois converti, utiliser la commande keytool pour intégrer le certificat à un truststore du serveur RSA/FIM (ou créer un truststore spécifique à cette occasion). Sur notre serveur de test, ils sont situés dans /appli/federation/rsa-fim-config/keystores
Par exemple : <chemin_vers_jdk>/bin/keytool -import -alias fs-ac-mon_acad-et-mon_etab-1.0 -keystore mon_truststore-trust.jks -file eole_der.crt
Configuration du fournisseur d'identité :
aller dans Quick Setup -> add New Partner ;
importer le fichier de méta-données
eolesso.xml
et donner un nom d'entité ;
sauver dans la page suivante (association), choisir le fournisseur de service (FIM) ;
cliquer sur l'onglet
general settings
et choisir les réglages suivants :- Encrypting/Signature truststores : sélectionner le truststore créé ci dessus ;
- cocher la case
Transient Plug-in
; - le greffon 'dictao cleartrust transient plugin' doit être sélectionné ;
- attribute plugin : ajouter DictaoDumbAttributePluginRP ;
- laisser les autres valeurs par défaut et sauver.
Configuration du serveur EoleSSO
La première étape est de récupérer le fichier de méta-données du fournisseur de service dans FIMConfig :
- Entities -> local entities -> manage existing ;
- cliquer sur le fournisseur, puis sur 'Export' dans le menu déroulant ;
- valider avec les valeurs par défaut, et copier le contenu affiché dans un fichier sur votre machine locale.
Placer ce fichier dans le répertoire /usr/share/sso/metadata
(dans cet exemple, fim_sp.xml
) du serveur EoleSSO et redémarrer le service.
Attention
Le fichier de méta-données doit être un fichier XML valide. Si l'entête suivant n'est pas présent, ajoutez le au début du fichier :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Test du lien de fédération
Pour accéder à une ressource au moyen de la fédération, il faut utiliser une adresse de ce type :
https://<adresse_FI>:8443/saml?sp_ident=<id_FS>&RelayState=<adresse_service>
Fédération entre 2 serveurs EoleSSO
Synopsis
On considère la situation suivante :
Un serveur Scribe en établissement (adresse : Scribe_FI
) propose l'accès à des ressources protégé par un serveur Seshat (adresse : Seshat_FS
) à travers son portail local.
Une réplication d'annuaire est en place entre les 2 serveurs (le serveur Seshat répliquant les annuaires de plusieurs établissements).
On souhaite que l'utilisateur se connecte sur le portail établissement du serveur Scribe, et accès à un application web du serveur Seshat (en saisissant une seule fois ses identifiants lors de la connexion au portail).
Pour permettre de retrouver les utilisateurs sur le fournisseur de service, on décide d'utiliser comme clé de jointure le champ FederationKey de l'annuaire de Scribe. Ce champ étant unique au niveau national, il n'y aura pas de problème
Complément
Se reporter à la partie traitant de la gestion des identifiants ENT dans la documentation Scribe pour plus d'informations sur la mise en place de l'attribut FederationKey
Configuration du fournisseur d'identité (module Scribe)
La première étape est de définir un filtre pour définir les attributs à envoyer au fournisseur de service dans l'assertion SAML.
Par défaut, le serveur EoleSSO utilise le filtre défini dans le fichier /usr/share/sso/app_filters/saml.ini
si aucun filtre n'est spécifié pour l'adresse du fournisseur de service (pour information, cette adresse est https://Seshat_FS:8443/saml/acs).
Il n'y a ici rien à modifier car ce filtre envoie l'attribut FederationKey.
Configuration du fournisseur de service (Seshat)
Sur le fournisseur de service, il faut indiquer le jeu d'attributs à utiliser pour établir la correspondance entre les attributs donnés dans l'assertion SAML et les attributs présents dans l'annuaire de Seshat.
Ici aussi, la configuration par défaut convient. Si aucun jeu d'attribut n'est défini pour l'identifiant du fournisseur d'identité, le jeu par défaut est FederationKey=FederationKey
, ce qui correspond à notre cas d'utilisation.
Ce filtre est défini dans le fichier /usr/share/sso/attribute_sets/default.ini
.
Mise en oeuvre du lien de fédération
Une fois les 2 serveurs configurés, on échange les fichiers de méta données pour établir le lien. Une méthode simple est de le faire par les commandes suivantes :
- sur le module Scribe : wget --no-check-certificate -O /usr/share/sso/metadata/seshat.xml https://seshat_FS:8443/saml/metadata
- sur le module Seshat : wget --no-check-certificate -O /usr/share/sso/metadata/scribe.xml https://scribe_FI:8443/saml/metadata
- redémarrer le service
eole-sso
sur les 2 serveurs : CreoleService eole-sso restart
Pour tester le fonctionnement de la fédération, taper l'URL suivante dans un navigateur :
https://scribe_FI:8443/saml?sp_ident=seshat
Après validation du formulaire pour confirmer l'accès, le navigateur doit être redirigé sur l'URL https://seshat_FS:8443/loggedin. Des informations sur la session établie par le serveur Seshat sont affichées sur cette page
une fois le lien de fédération fonctionnel, ajouter un lien dans le portail du serveur Scribe pour accéder à l'application sur Seshat:
https://scribe_FI:8443/saml?sp_ident=seshat&RelayState=https://seshat_FS/mon_application
Mise en place de l'authentification OTP
Le service EoleSSO est capable de valider une authentification par clé OTP auprès d'un serveur RSA Authentication Manager (protocole SecurID).
Pour permettre ce fonctionnement, il est nécessaire d'installer sur le serveur un module PAM fourni par EMC.
Ce module est disponible à l'adresse suivante :
http://france.emc.com/security/rsa-securid/rsa-authentication-agents/pam-7-1.htm
La dernière version testée est la version 7.1.0.1. elle nécessite au minimum un serveur RSA Authentication Manager version 6.1 ou 7.1
Ce client n'est pas certifié pour fonctionner sur le système GNU/Linux Ubuntu, il peut être nécessaire de modifier le script d'installation présent dans l'archive pour qu'il s'exécute correctement sur un serveur EOLE (voir ci-dessous).
Complément
Adaptation du fichier install_pam.sh
pour une installation sur un serveur EOLE :
- Remplacer les occurrences de chmod 755 par chmod 644 pour appliquer les permissions préconisées par la distribution.
- Rechercher la section concernant le paramétrage pour Linux (ligne 362 dans la version testée) :

Dans le bloc else (serveur 64 bits), remplacer MODULE_DIR_SECONDARY="/lib64/security/" par MODULE_DIR_SECONDARY="/lib/x86_64-linux-gnu/security/".
La même modification doit être effectuée sur le fichier uninstall_pam.sh
si vous souhaitez désinstaller l'agent.
Cette modification concerne la dernière version testée du client (v7.1.0.1.16.05_06_13_02_04_01).
Un fichier de configuration est livré avec EoleSSO pour utiliser le module fourni (/etc/pam.d/rsa_securid
)
Le module nécessite également les étapes suivantes :
- enregistrement du serveur hébergeant EoleSSO en tant qu'agent dans la configuration du serveur Authentication Manager ;
- copie du fichier
sdconf.rec
présent sur le serveur RSA dans le répertoire/var/ace
(serveur EoleSSO) ; - activer la gestion de l'authentification OTP dans EoleSSO (dans l'interface de configuration du module, onglet
Eole sso
puis redémarrer le service). Se reporter à la section Configuration pour le détail des options de configuration disponibles.
Truc & astuce
Deux utilitaires sont livrés avec le module PAM pour tester le fonctionnement :
/opt/pam/bin/32bit/acestatus
: affiche les informations sur le serveur présentes danssdconf.rec
/opt/pam/bin/32bit/acetest
: permet de valider l'authentification d'un utilisateur
Sur un serveur 64 bits, les utilitaires livrés avec le module PAM se trouvent dans le répertoire /opt/pam/bin/64bit
.
AttentionVersions 32 ou 64 bits
Les scripts d'installation fournis n'installent pas toujours correctement le module PAM. En cas de dysfonctionnement, vérifier que la version installée de la librairie correspond bien à l'architecture de la machine (voir complément ci dessus sur le script d'installation).
Vous pouvez comparer le fichier pam_securid.so
installé avec les version 32 ou 64 bits qui peuvent être trouvées dans l'archive sd_pam_agent.tar
du répertoire /lnx
du répertoire d'installation de l'agent.
La librairie doit être installée dans le répertoire /lib64/security/
dans le cas d'une version d'EOLE inférieure à 2.5.0 ou dans le répertoire /lib/x86_64-linux-gnu/security/
dans le cas contraire.
Application de redirection : Eole-dispatcher
Dans le cadre de l'utilisation du module Seshat en tant que point d'entrée d'un ENT centralisé, l'application Eole-dispatcher permet de rediriger les utilisateurs vers leur établissement d'origine. Elle se base sur les informations remontées lors de la mise en place de la réplication des serveurs Scribe.
Elle est également prévue pour gérer le cas de l'affectation multiple pour les enseignants et les responsables :
un enseignant qui aurait des services sur plusieurs établissements se verrait proposer le choix de l'établissement sur lequel il souhaite se connecter ;
un parent d'élève qui aurait plusieurs enfants dans des établissements différents se verrait également proposer le choix de l'établissement. Il est à noter que la problématique de la l'affectation multiple pour un élève ne se pose pas, puisque ce dernier ne peut pas être scolarisé dans deux établissements.
Eole-dispatcher est capable (au travers de ses filtres d'attributs) de gérer les sources d'authentification suivantes :
LDAP Académique pour les agents de l'Éducation nationale ;
LDAP Téléservices pour les parents et élèves ;
LDAP local (réplicat des serveurs Scribe) pour l'authentification des élèves et parents (si les téléservices ne sont pas déployés).
Remarque
Le terme affectation est à prendre au sens large, il désigne l'appartenance d'une personne à un établissement.
Pré-requis
Cette application nécessite :
la mise en place de la réplication LDAP des serveurs Scribe sur le serveur Seshat ;
l'alimentation des annuaires des serveurs Scribe avec des extractions AAF EXCLUSIVEMENT ;
la bonne saisie des numéros et libellés établissement sur les serveurs Scribe et Zéphir ;
la configuration d'une fédération entre chaque serveur Scribe et le serveur Seshat (voir documentation EoleSSO au chapitre : Fédération entre 2 serveurs EoleSSO).
Installation
Le dispatcher est à installer sur le module Seshat, afin d'utiliser son portail EoleSSO comme portail unique d'authentification vers les ENT (Envole).
L'application n'est pas installée par défaut. Via l'interface de configuration du module, configurer le serveur pour recevoir les applications web :
en mode normal dans l'onglet
Services
, passerActiver le serveur web Apache
àoui
;
dans l'onglet
Applications web
, saisissez le nom de domaine des applications web dansNom de domaine des applications web (sans http://)
;enregistrer la configuration et quitter l'interface de configuration du module.
Puis saisir les commandes suivantes sur le module Seshat pour installer le paquet eole-dispatcher
:
# Query-Auto
# apt-eole install eole-dispatcher
Configuration
Une fois les paquets installés, il faut de nouveau se rendre dans l'onglet Application web
de l'interface de configuration du module et passer Activation de la redirection vers les portails ENT
à oui
. Des paramètres supplémentaires s'affichent.
Rediriger en automatique si un seul ENT
;Proposer le PIA aux professeurs
: permet de proposer le portail académique aux enseignants ;RNE du Portail académique (PIA)
: permet de saisir l'UAI du portail académique ;Portail académique (PIA)
: portail sur lequel seront redirigés les personnels académiques ;Portail par défaut
: adresse du site Internet dédié à l'ENT si aucun portail d'établissement n'est disponible pour l'utilisateur ;webService Arena
: URL complète du webService ARENA pour la récupération des ressources ;Zone par défaut pour le webService Arena
: zone par défaut du portail ARENA.
Il est possible de changer ou de désactiver le thème.
Une fois l'application paramétrée, il est nécessaire de reconfigurer le serveur à l'aide de la commande reconfigure
.
Une fois le serveur reconfiguré, l'application est accessible à l'adresse : http://<adresse_serveur>/edispatcher/
Truc & astuce
Il est possible de rendre l'application directement accessible depuis l'adresse http://<adresse_serveur>/
, en renseignant /edispatcher
en tant qu'Application web par défaut (redirection)
dans la famille Applications web
Fonctionnement
L'installation du dispatcher va mettre en place sur le serveur SSO les filtres d'attributs nécessaires afin de rediriger correctement la personne.
Extrait du fichier /usr/share/sso/app_filters/dispatcher.ini
:
[user]
rne=ecs_rne
user=uid
uid=uid
source=SourceAuth
FederationKey=DispatcherKey
displayName=displayName
profils=DispatcherProfils
auth=auth
L'attribut calculé ecs_rne
, va permettre de récupérer les codes RNE en fonction des établissements d'affectation de l'utilisateur.
Lors de la connexion d'une personne, Eole-dispatcher va prendre tous les RNE reçus de EoleSSO et présenter tous les liens de fédération pour l'accès aux portails Envole le concernant.
ExempleExemple d'URL de fédération
https://<domaineSeshatSSO>/saml?sp_ident=<id_fs>&RelayState=https://<URL_du_portail_Établissement>
Cette URL effectue une fédération vers le fournisseur de service <id_fs>
et redirige vers l'<URL_du_portail_Établissement>
du client en fournissant un identifiant de session.
Eole-dispatcher et EoleSSO
RNE : id_fs
id_fs
est :
soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta-données) ;
soit le nom de son fichier de méta-données placé dans
/usr/share/sso/metadata/
(sans l'extension.xml
).
Par simplicité il est possible de nommer le fichier metadata de nos entités partenaires (Serveur Scribe des établissements) par <RNE>.xml
; id_fs
est alors le code RNE de l'établissement.
Libellé et adresse du portail des établissements : URL_du_portail_Établissement
EoleSSO va générer automatiquement, à chaque redémarrage du service eole-sso
, un fichier dans /var/www/html/edispatcher/utils/etabs.ini
qui va contenir les entrées nécessaires pour chaque établissement :
[9740091F]
libelle = COLLEGE LECONTE DE LISLE
portail = https://portail.college-lecontedelisle.re
...
Ces entrées sont récupérées depuis Zéphir, il est donc nécessaire que les serveurs Scribe soient enregistrés sur le serveur Zéphir. Dans le cas contraire, ou si des informations sont incorrectes ou manquantes, il faudra remplir ce fichier à la main (voir le chapitre
: Gestion des sources d'authentification multiples).
Vous pouvez vous baser sur le fichier d'exemple : /var/www/html/edispatcher/utils/etabs.ini.sample
.
Truc & astuceMessage d'erreur : aucun portail trouvé
Description de liens vers des applications web ou vers des portails.
Fichier /var/www/html/edispatcher/applications.ini
:
Format des sections :
[<identifiant du lien>]
url="<adresse du lien>"
piwik=<identifiant piwik>
Paramétrage des URLs : il est possible d'insérer des étiquettes dynamiques dans les URLs
[SSO] : adresse du serveur SSO de Seshat
[PORTAILHOST] : portail dépendant de la zone d'accès du client (configuré dans portails.ini)
[TICKET] : identifiant de session
Configuration de l'accès à un portail en fonction de la plage IP du client
Eole-dispatcher est également utilisé dans certaines académies comme portail d'authentification unique pour l'accès aux portails ARENA[114].
Il peut exister plusieurs portails en fonction de l'endroit où se trouve l'utilisateur. Par exemple, dans l'académie de la Réunion il existe au moins trois portails d'accès aux application ARENA :
portail.ac-reunion.fr
(accessible en externe) ;
scoens.ac-reunion.fr
(depuis le réseau pédagogique des établissements) ;
scoweb.ac-reunion.fr
(depuis le réseau administratif).
Chaque portail, en fonction de sa zone de confinement, ne présentera pas les mêmes ressources et l'utilisation d'une clé OTP[103] sera proposée ou non.
Il faut donc permettre à l'utilisateur d'obtenir le bon portail en fonction de la zone où il se trouve.
Complément
La fonction GetPortailHost
du fichier /var/www/html/edispatcher/inc.php
du dispatcher permet, en fonction de l'adresse IP du client, de rediriger l'utilisateur vers le bon portail. La récupération de l'adresse IP du client se base sur le champ HTTP_X_FORWARDED_FOR
des headers HTTP.
Les différentes associations réseau / portail sont définies dans le fichier /var/www/html/edispatcher/utils/portails.ini
.
Créer le fichier /var/www/html/edispatcher/utils/portails.ini
et ajouter des sections décrivant une plage IP et l'adresse du portail correspondant :
[<adresse IP>]
mask=<masque IP>
portail="<adresse du portail pour cette plage IP>"
Un exemple de fichier est présent dans : /var/www/html/edispatcher/utils/portails.ini.sample
.
Exemple
[172.16.0.0]
mask=13
portail="scoens.ac-reunion.fr"
arena="rev-proxy-peda"
[172.31.190.64]
mask=26
portail="portail.ac-reunion.fr"
arena="rev-proxy-id"
[172.31.16.0]
mask=16
portail="portail.ac-reunion.fr"
arena="rev-proxy-id"
[10.205.0.0]
mask=16
portail="scoweb.ac-reunion.fr"
arena="rev-proxy-agr"
Exemple
Dans cet exemple, tout utilisateur se présentant avec une adresse IP du réseau 10.205.0.0/16, se verra renvoyé vers l'URL du portail académique https://scoweb.ac-reunion.fr.
La variable arena
, permet de spécifier la zone ClearTrust associée au portail. Elle est utilisée si vous souhaitez intégrer les ressources ARENA dans le bureau Envole.
Plus d'informations : https://envole.ac-dijon.fr/wordpress/2014/02/19/integration-de-arena-dans-le-bureau-envole.
Configuration du fournisseur d'identité France Connect
Pour mettre en place la relation de confiance entre EoleSSO et France Connect, il faut effectuer une demande d'enregistrement auprès de France Connect : https://franceconnect.gouv.fr/inscription
Le fournisseur d'identité France Connect renvoi un identifiant client (Client ID) et une clé privée secrète ( Client secret) utilisé pour valider les échanges. Il met à disposition un certain nombre d'URLs nécessaires à la configuration du client.
Pour l'inscription il est demandé les informations suivantes:
le nom du service ;
une adresse électronique de contact ;
un logo représentant le fournisseur de service (logo EOLE, logo de l'académie...) qui apparaîtra sur la page d'authentification de France Connect ;
une adresse dite de callback : adresse sur laquelle est renvoyé l'utilisateur après authentification.
Dans le cas d'EoleSSO cette adresse est :
https://<adresse_serveur_eolesso>:8443/oidcallback
Les logos et bouton de connexion France Connect sont déjà fournis avec EoleSSO.
Complément
Pour plus d'informations sur le fonctionnement et la configuration, se reporter à : https://franceconnect.gouv.fr/fournisseur-service
Les conditions d'utilisation de France Connect et le processus de raccordement sont décrites dans le document PDF suivant :
https://franceconnect.gouv.fr/files/CGU FS - Annexe Processus d'implementation de FC par FS V2.1.pdf
À noter que parmi les conditions, une déclaration CNIL simplifiée est disponible et une recette de la solution technique mise en œuvre doit être effectuée par le SGMAP[111].
Attention
L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.
Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf
:
<nom_fournisseur> = "<client id> :<client secret>"
Le nom_fournisseur
doit correspondre au paramètre Référence du fournisseur d'identité OpenID
renseigné dans l'interface de configuration du module.
Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose
.
Configuration du fournisseur d'identité Google (Google APIs).
Déclaration d'EoleSSO comme fournisseur de service
Pour récupérer votre Client ID / Client Secret, vous devez créer un compte développeur depuis cette adresse : https://developers.google.com/
Rendez-vous dans la console développeur de Google afin de déclarer votre service EoleSSO comme application : https://console.developers.google.com
Créez un nouveau projet (barre supérieure de la console ->
select a project
->create a project
) ;Une fois le projet créé, cliquez sur la barre de menu gauche (3 barres horizontales), puis sur
API Manager
. Cliquez ensuite surCredentials
(à gauche) ;Cliquer sur
Oauth Consent Screen
et renseigner au minimum le champProduct name shown to users
(par exemple 'établissement xxx') ;Sauvegarder et dans Credentias, cliquer sur
Create credentials
, *Oauth Client ID" ;Choisir
Web application
et renseigner les champs suivants :- Name : au choix
- Authorized JavaScript origins : https://[adresse_serveur_sso]:8443
- Authorized redirect URIs : https://[adresse_serveur_sso]:8443/oidcallback
Cliquer sur Create et recopier l'identifiant et la clé secrète fournis ;
Configuration du fournisseur d'identité (Google) dans l'interface de configuration du module
Une fois les identifiants récupérés, vous pouvez configurer les paramètres d'EoleSSO (gen_config, onglet Eole SSO en mode expert)
Passer à
oui
la variableAutoriser l'authentification OpenID Connect
;ajouter un forunisseur en cliquant sur
+Référence du fournisseur d'identité OpenID
;Référence du fournisseur d'identité OpenID
: google (des logos sont présents et utilisés automatiquement en choisissant ce libellé) ;Libellé du fournisseur d'identité OpenID
: Google (ou autre description de votre choix) ;issuer
: https://accounts.google.com ;authorization_endpoint
: https://accounts.google.com/o/oauth2/v2/auth ;token_endpoint
: https://www.googleapis.com/oauth2/v4/token ;userinfo_endpoint
: https://www.googleapis.com/oauth2/v3/userinfo ;jwks_uri
: https://www.googleapis.com/oauth2/v3/certs .
En cas de problème, les paramètres en cours de validité sont décrits ici : https://accounts.google.com/.well-known/openid-configuration
Pour plus d'informations sur le support d'OpenID de Google : https://developers.google.com/identity/protocols/OpenIDConnect
Attention
L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.
Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf
:
<nom_fournisseur> = "<client id> :<client secret>"
Le nom_fournisseur
doit correspondre au paramètre Référence du fournisseur d'identité OpenID
renseigné dans l'interface de configuration du module.
Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose
.
Mise en oeuvre de LemonLDAP::NG
Installation et activation de LemonLDAP::NG
Installation de LemonLDAP::NG
Installation sur Scribe, AmonEcole ou Seth Éducation
Pour activer le serveur LemonLDAP::NG[100] sur les modules Scribe, AmonEcole ou Seth Éducation, il faut installer le paquet eole-lemonldap-ng-auto.
apt install eole-lemonldap-ng-auto
Le service sera alors pré-configuré pour utiliser l'annuaire du module.
Installation sur les autres modules
Pour activer le serveur LemonLDAP::NG sur les autres modules EOLE (Eolebase par exemple), il faut installer le paquet eole-lemonldap-ng.
apt install eole-lemonldap-ng
Les sources d'authentification seront à saisir dans l'interface de configuration du module.
AttentionModule Seth
L'installation du paquet eole-lemonldap-ng-auto sur un module Seth transformera ce dernier en Seth Éducation !
Onglet Lemonldap : Configuration du service SSO pour l'authentification unique
Partie Configuration
Écran
- 1
Nom DNS du service d'authentification LemonLDAP-NG
Variable calculée.
ComplémentNom interne de la variable
authWebName
- 2
Configurer LemonLDAP-NG depuis l’interface d’administration
Permet d’activer l’interface d’administration fournie par le projet LemonLDAP::NG.
Par défaut, cette interface est désactivée, les cas classiques de configuration étant pris en charge via les mécanismes EOLE.
AttentionConflit des modes de configuration
La configuration de LemonLDAP::NG depuis son interface d’administration écrase et remplace celle générée via les mécanismes EOLE.
ComplémentNom interne de la variable
ll_activer_manager
- 3
Nom DNS du manager LemonLDAP-NG
Indique le nom de domaine avec lequel le manager de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.
ComplémentNom interne de la variable
managerWebName
- 4
Nom DNS du service Reload LemonLDAP-NG
Indique le nom de domaine avec lequel le service de rechargement de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.
ComplémentNom interne de la variable
reloadWebName
- 5
Nom de domaine des cookies
Cette variable est pré-remplie.
ComplémentNom interne de la variable
cookieDomain
- 6
Backend pour les comptes utilisateurs
Permet d’adapter le protocole utilisé en fonction du type d’annuaire associé. Le choix s’effectue entre les types LDAP et AD (annuaire de type OpenLDAP ou annuaire de type Active Directory).
ComplémentNom interne de la variable
lemon_user_db
La variable Nom DNS du service d'authentification LemonLDAP-NG
doit être renseignée avec le nom DNS du serveur précédé du nom du service.
La variable Configurer LemonLDAP-NG depuis l'interface d'administration
permet d'activer l'interface d'administration de LemonLDAP::NG.
Si la variable est à oui une nouvelle variable apparaît en mode Normal et deux en mode Expert.
Écran
- 1
Nom DNS du manager LemonLDAP-NG
Indique le nom de domaine avec lequel le manager de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.
ComplémentNom interne de la variable
managerWebName
- 2
Nom DNS du service Reload LemonLDAP-NG
Indique le nom de domaine avec lequel le service de rechargement de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.
ComplémentNom interne de la variable
reloadWebName
Attention
Si vous activez l'interface d'administration de LemonLDAP::NG vous perdrez la possibilité d'utiliser les outils EOLE pour interagir avec LemonLDAP::NG.
À ne choisir que si vous savez ce que vous faites !
La variable Nom de domaine des cookies
à renseigner en cas d'utilisation d'un reverse proxy. Les cookies sont associés au nom utilisé par l'utilisateur pour accéder à un service web. Par défaut la valeur est celle du FQDN. Si vous utilisez un reverse proxy cette valeur n'est plus valable, il faut la remplacer par le chemin d'accès à la redirection du reverse proxy.
AttentionLa variable Backend pour les comptes utilisateurs
permet de choisir entre LDAP ou AD. pour les échangent.
Si vous utilisez Scribe mettre en mode LDAP
Si vous utilisez un seth ou un amonecole passer en mode AD.
Partie Configuration LDAP
Dans cette partie vous avez accès aux paramètres propres à LemonLDAP::NG.
Écran
- 1
Protocole LDAP à utiliser
Il est possible d’adapter le protocole à utiliser selon les capacités du serveur LDAP associé. Le choix se fait entre ldaps et ldap.
ComplémentNom interne de la variable
ldapScheme
- 2
Port d'écoute du LDAP utilisé par LemonLDAP::NG
Port utilisé pour contacter l’annuaire.
ComplémentNom interne de la variable
ldapServerPort
- 3
Vérifier les certificats SSL du serveur LDAP
Active ou désactive la vérification du certificat SSL fourni par l’annuaire dans le cas du protocole LDAPS
ComplémentNom interne de la variable
lmldapverify
- 4
Nombre de processus dédié à Lemon (équivalent au nombre de processeurs)
Permet de limiter les ressources allouées
Conseil
Il est conseillé de ne pas allouer la totalité des files de traitement pour éviter de bloquer le système complètement en cas de charge excessive.
ComplémentNom interne de la variable
lemonproc
- 5
Verbosité des journaux
Détermine la quantité d’informations rapportées par les services LemonLDAP::NG
- Info : remonte uniquement les logs informatifs
- notice : remonte les logs informatifs + notifications
- warn : remonte les logs informatifs + notifications + warning
- error : remonte les logs informatifs + notifications + warning + error
- debug : remonte tous les logs possible
ComplémentNom interne de la variable
lm_loglevel
- 6
LemonLDAP Administrator username
Personnalise le nom de l’utilisateur avec les droits d’administration.
ComplémentNom interne de la variable
lemonAdmin
Le serveur LemonLDAP::NG prend en charge LDAP over SSL (LDAPS). La fonction Strict SSL est définie par défaut. La fonction Strict SSL nécessite une certification de serveur.
La variable Protocole LDAP à utiliser
permet de choisir entre LDAP
et LDAPS
Attention
Pour des interactions en LDAP avec Active Directory, prendre en compte que certaines actions nécessitent l'utilisation de LDAPS (LDAP sur SSL) entre le client et Active Directory
La variable Port d'écoute du LDAP utilisé par LemonLDAP::NG
permet de changer le port associé pour LDAP. Par défaut il s'agit du port 636
La variable Vérifier les certificats SSL du serveur LDAP
permet de valider les certificats SSL pour l'authentification du serveur LemonLDAP::NG.
La variable Nombre de processus dédié à Lemon (équivalent au nombre de processeurs)
indique le nombre de processus utilisés par LemonLDAP::NG. Par défaut cette variable est à 4, néanmoins il est préférable d'avoir ce nombre légèrement inférieur au nombre de processeurs.
Configuration CAS
Écran
- 1
- 2
Nom de l'attribut CAS
Le nom de l’attribut CAS correspond au membre du couple utilisé côté CAS.
Attention
Les attributs sont sensibles à la casse.
ComplémentNom interne de la variable
casAttribute
- 3
Attribut LDAP équivalent
Le nom de l’attribut LDAP correspond à l’attribut LDAP dont la valeur sera associée au nom de l’attribut CAS précédent.
Attention
Les attributs sont sensibles à la casse.
ComplémentNom interne de la variable
casLDAPAttribute
- 4
Endpoint du service cas
Complément d’url qui permet d’accéder au service CAS.
ComplémentNom interne de la variable
casFolder
- 5
Chemin de l'autorité de certification
Emplacement du certificat de l’autorité de certification permettant de valider l’accès si nécessaire.
ComplémentNom interne de la variable
ssoCALocation
Partie Personnalisation de la mire SSO
Écran
- 1
Skin utilisé par LemonLDAP::NG
Sélectionne l’aspect visuel de la mire d’authentification parmi les thèmes proposés par l’application LemonLDAP::NG :
- bootstrap
- dark
- impact
- pastel
- 2
Permettre aux utilisateurs d’afficher l’historique de connexion
Active l’affichage de son historique de connexion pour chaque utilisateur.
ComplémentNom interne de la variable
llCheckLogins
- 3
Permettre aux utilisateurs de réinitialiser leurs mots de passe par mail
Active la fonctionnalité de réinitialisation autonome de mot de passe en cas de perte.
ComplémentNom interne de la variable
llResetPassword
- 4
Permettre aux utilisateurs de changer leurs mots de passe depuis LemonLDAP
Active le formulaire de changement de mot de passe.
ComplémentNom interne de la variable
llChangePassword
- 5
Autoriser le renouvellement des mots de passe expirés
Permet le renouvellement du mot de passe depuis la mire dans le cas d’une expiration.
ComplémentNom interne de la variable
llResetExpiredPassword
- 6
Adresse de l’application pour réinitialiser leurs mots de passe
Adresse du formulaire à présenter aux utilisateurs pour leur permettre de réinitialiser leur mot de passe
ComplémentNom interne de la variable
llResetUrl
- 7
Permettre aux utilisateurs de créer un compte
Donne le droit aux utilisateurs de créer un compte.
ComplémentNom interne de la variable
llRegisterAccount
- 8
Base de comptes pour l’enregistrement
Type de base pour l’enregistrement des comptes créés parmi les choix suivants :
- LDAP
- AD
- Demo
- Custom
ComplémentNom interne de la variable
llRegisterDB
- 9
Domaines vers lesquels le formulaire peut renvoyer
Liste des domaines autorisés depuis le formulaire.
ComplémentNom interne de la variable
llCSPTargets
La variable Skin utilisé par LemonLDAP::NG
permet de choisir le skin utilisé par LemonLDAP::NG.
La variable Permettre aux utilisateurs d'afficher l'historique de connexion
permet aux utilisateurs lorsqu'elle est à oui
, d'afficher leur historique de connexion.
La variable Permettre aux utilisateurs de réinitialiser leurs mots de passe par mail
met en place la possibilité pour les utilisateurs de modifier leurs mots de passe depuis la fenêtre de connexion. La méthode consiste à demander la confirmation de l'adresse mail de l'utilisateur, si celle-ci correspond il recevra un mail avec un lien pour changer son mot de passe.
La variable Permettre aux utilisateurs de changer leurs mots de passe depuis LemonLDAP
permet aux utilisateurs de changer librement leur mot de passe de depuis la page de gestion LemonLDAP::NG correspondant par défaut à la variable Nom DNS du service d'authentification LemonLDAP-NG
ou variable Creole authWebName
La variable Autoriser le renouvellement des mots de passe expirés
autorise le renouvellement par l'utilisateur.
Dans ce cas il est possible avec la variable Adresse de l'application pour réinitialiser leurs mots de passe
d'indiquer une application ou un service spécifique (compatible LDAP, LDAPS, et LemonLDAP::NG) pour cette opération.
La variable Permettre aux utilisateurs de créer un compte
autorise les utilisateurs à créer des comptes supplémentaires en lieu et place de l'administrateur, depuis l'interface LemonLDAP::NG.
La Variable Base de comptes pour l'enregistrement
vous permet de choisir le type de base que vous voulez parmi 4 possibilités :
- Une base LDAP
- Une base AD
- Une base de démonstration
- Une base personnalisable.
Si vous choisissez une base personnalisable une nouvelle variable apparaîtra. Adresse de l'application de création de compte
qu'il faut remplir en indiquant le service ou l'application qui va remplir la base.
Écran
- 1
Indiquer l'adresse de l'application de création de compte alternative. (https://.....)
ComplémentNom interne de la variable
llRegisterURL
La variable Domaines vers lesquels le formulaire peut renvoyer
, concerne tous services ou applications externes au domaine du serveur LemonLDAP::NG vers lesquels il doit cependant pouvoir, soit donner accès, soit interagir.
Les applications web sur le module AmonEcole
Le module AmonEcole est l'association du module Amon et du module Scribe.
Ce module intègre donc l'ensemble des applications web proposées sur le module Scribe.
La plupart sont le résultat de la mutualisation inter-académique Envole : https://envole.ac-dijon.fr.
Elles sont adaptées pour fonctionner avec un serveur d'authentification unique. Grâce à cette méthode d'authentification unique, les utilisateurs du module Scribe se connectent une seule fois pour accéder à l'ensemble des applications. Des rôles sont prédéfinis dans chacune d'elles. Il est possible dans certaines, de modifier les rôles prédéfinis pour l'utilisateur.
Parmi les services web qu'il est possible de proposer on trouve des cahiers de texte numériques, des gestionnaires de fichiers, des CMS[115] mais aussi un portail.
Le portail Envole permet de centraliser les différentes applications web et offre bien d'autres services : widgets, réseaux sociaux, délégation de droits ...
Le paramétrage du module Amon permet de rendre ces services web accessibles depuis l'extérieur de l'établissement.
Truc & astuceApplication par défaut
Si le portail Envole n'est pas installé, l'application web par défaut est Rouncube et l'adresse http://<adresse_serveur>/
pointe vers http://<adresse_serveur>/roundcube/
Il est possible de modifier ce comportement dans l'interface de configuration du module, dans l'onglet Applications Web
→ Application Web par défaut (redirection)
.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Des applications web vous sont proposées dont certaines sont pré-installées et doivent être activées lors de la configuration du module.
D'autres sont pré-packagées et leur installation est laissée à votre initiative. Vous pouvez également ajouter vos propres applications.
Attention
La seule procédure valide pour mettre à jour les applications web d'un module EOLE est la procédure proposée par EOLE.
En aucun cas vous ne devez les mettre à jour par les moyens qui sont proposées via le navigateur.
Vous risquez d'endommager vos applications web et d'exposer votre module à des failles de sécurité.
Espace Numérique Personnel pour l'Éducation avec Envole
Envole est un Espace Numérique Personnel[116] pour l'Éducation.
Il propose une interface de type portail Web 2.0[117] qui permet l'interaction entre un utilisateur et son environnement numérique résultant de l'utilisation de services hétérogènes.
Il centralise dans une seule interface l'ensemble des applications de l'utilisateur : mail, agenda, dossier personnel, B2I, blog, gestion de notes, gestion des absences, etc ...
Envole est adapté pour mettre en œuvre un Portail Internet Académique (PIA), un Portail Internet Établissement (PIE) ou un Espace Numérique de Travail (ENT).
Envole est personnalisable par l'administrateur (changer le thème, imposer des onglets et des widgets, concevoir des widgets) et par l'utilisateur (ajouter des onglets et des boutons, gérer ses marque-pages, utiliser des widgets).

Le site Envole : https://envole.ac-dijon.fr/
Historique du projet
Envole 1 a été créé par l'académie de Créteil pour construire sa solution ENT : Cartable en ligne.
À la demande du Ministère de l'Éducation nationale, les différentes évolutions ont permis la sortie d'une version 1.5 permettant l'utilisation d'Envole dans d'autres académies. Envole 1.5 est monolithique (modularité réduite) et n'évoluera plus (produit non porté sur EOLE 2.3).
Envole 2.0 (pour web 2.0) est un projet mutualisé entre les académies de Créteil et de Dijon. Cette version est modulaire et propose de nouvelles applications web.
Envole 3 correspond à la version d'Envole diffusée avec EOLE 2.3. Cette version propose de nouvelles applications web. Elle est le résultat de la mutualisation entre les académies d'Aix-Marseille, de Besançon, de Créteil, de Dijon, de La Réunion, d'Orléans-Tours, de Poitiers et de Reims.
Envole 4 correspond à la version d'Envole diffusée avec EOLE 2.4 (à partir de la version 2.4.2). Cette version propose de nouvelles applications web. Elle est le résultat de la mutualisation entre les académies d'Aix-Marseille, de Besançon, de Créteil, de Dijon, de La Réunion, d'Orléans-Tours, de Poitiers, de Caen, de Grenoble, de Nice et de Reims.
Envole 5 correspond à la version d'Envole diffusée avec EOLE 2.5 (à partir de la version 2.5.2). Cette nouvelle version s'appuie sur une version plus récente de PHP nécessaire pour le fonctionnement des dernières versions des applications web proposées.
Envole 6 correspond à la version d'Envole diffusée avec EOLE 2.6 (à partir de la version 2.6.1).
Envole 7 correspond à la version d'Envole diffusée avec EOLE 2.7 (à partir de la version 2.7.1).
Envole 8 correspond à la version d'Envole diffusée avec EOLE 2.8.
Le pôle EOLE est chargé de sa diffusion et participe à l'élaboration de la solution, en particulier sur les aspects annuaire LDAP et authentification SSO.
Principes de fonctionnement
L'authentification
Pour l'authentification des utilisateurs, Envole utilise un serveur SSO[16].
L'utilisation d'un serveur SSO permet de centraliser l'authentification. En s'authentifiant auprès du serveur SSO, les utilisateurs peuvent se connecter aux différentes applications web intégrées dans le portail sans avoir à se ré-identifier sur chacune d'entre-elles. Les applications web pré-configurées disponibles sur le module Scribe utilisent ce serveur SSO pour l'authentification. Lors de la phase d'authentification celui-ci renvoie des informations sur l'utilisateur, ce qui permet, par le biais d'un système de profils, de personnaliser le portail.
Le portail
Historiquement basé sur le logiciel POSH (http://sourceforge.net/projects/posh), le portail Envole propose :
- un système d'onglet pour organiser ses applications ;
- un bureau d'accès rapides aux applications ;
- des widgets pour la gestion du flux d'informations ;
- un réseau social ;
- la gestion des profils (onglet, bureau) permettant de personnaliser l'environnement des utilisateurs ;
- un espace d'administration.




Installation et paramétrage
La mise en place d'un portail dans Envole se décompose comme suit :
- installation du portail Envole ;
- activation du service SSO ;
- configuration de l'authentification CAS ;
- paramétrage du portail Envole ;
- sélection des applications web pré-configurées ;
- configuration pour un accès extérieur.
Ces différentes étapes s'effectuent à partir de l'interface de configuration du module.
Installation d'un portail Envole
Le portail historique d'Envole Posh
est désormais obsolète.
Il est possible de le remplacer par l'un des portails suivants :
- Ninegate
- ePortail
Activation du serveur EoleSSO
Configuration de l'authentification CAS
Attention
Saisir une adresse IP est possible mais est incompatible avec un accès extérieur.
Configuration du serveur web
Dans l'onglet Application web
:
Nom de domaine des applications web (sans http://)
renseigner le nom de domaine avec lequel vous souhaitez accéder à votre portail ;Saisir une adresse IP est possible mais est incompatible avec un accès extérieur.
l'application web par défaut n'est disponible que si la variable
Utiliser Envole comme application par défaut en frontal
est à non dans l'ongletEnvole
;préciser si le serveur web est derrière un proxy inverse ;
pour gérer les bases de données via l'application web Adminer passer
Activer Adminer
àoui
.
Sélection des applications web
Ninegate : portail
Présentation
Installation de Ninegate
Ninegate s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-ninegate
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ninegate/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
ePortail : portail d'entreprise
Présentation
ePortail est un portail d'entreprise tourné vers l'intranet comme l'extranet.
Installation
ePortail s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-eportail
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/eportail/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Tous les utilisateurs présents dans l'annuaire possèdent un accès à l'application.
administrateur
Seul l'utilisateur
admin
est "administrateur" de l'application, il peut :- Configurer les onglets
- Configurer des widgets
- Administrer la gestion des profils.
Accès au portail
Une fois installé, si Envole est configuré pour être en frontal il est accessible à l'adresse http://<adresse_serveur>/
sinon à l'adresse http://<adresse_serveur>/envole/
Accès interne
Pour un accès interne, vous pouvez accéder au portail :
par le nom de machine ;
par l'adresse IP ;
par le nom de domaine si l'accès extérieur est configuré.
Accès externe
Pour un accès externe, vous pouvez accéder au portail :
par le nom de domaine.
Attention
Le serveur Amon doit être configuré pour permettre l'accès depuis l'extérieur.
Rôles des utilisateurs
Les comptes d'accès à Envole sont ceux de l'annuaire défini dans l'interface de configuration du module.
Seul l'utilisateur admin
est l'administrateur du portail.
Il est possible de déléguer ce rôle dans l'interface d'administration du portail / utilisateurs / gestion des utilisateurs
, cliquer sur le compte utilisateur choisi et passer champ Type d'utilisateur
à administrateur
.
Configurer le module Amon pour Envole
Pour un fonctionnement optimal des applications web hébergées sur le module Scribe derrière un serveur Amon ou hébergées sur module AmonEcole, il est impératif d'utiliser un nom de domaine[119] (exemple : monetab.ac-acad.fr). Celui-ci doit être résolvable depuis Internet et il faut le renseigner partout où cela est nécessaire.
Ce nom de domaine sera à utiliser tant depuis l'extérieur de l'établissement que depuis l'intérieur.
Pour rendre accessible Envole ou certaines applications web hébergées sur le module Scribe depuis l'extérieur, il faut activer et configurer le pare-feu et le proxy inverse.
Configurer le pare-feu
Par défaut, le module Amon propose des modèles de pare-feu facilitant la mise en place d'un serveur Scribe en DMZ. Pour configurer le pare-feu, il faut dans l'onglet Firewall
, choisir un Modèle de filtrage
compatible :
3zones-dmz : gestion d'une zone pedago sur l'interface 1 et d'une zone DMZ publique pouvant accueillir un module Scribe sur l'interface 2 ;
4zones : gestion d'une zone admin sur l'interface 1, d'une zone pedago sur l'interface 2 et d'une zone DMZ publique pouvant accueillir un module Scribe sur l'interface 3 ;
5zones : gestion d'une zone admin sur l'interface 1, d'une zone pedago sur l'interface 2, d'une zone DMZ publique pouvant accueillir un module Scribe sur l'interface 3 et d'une zone DMZ privée sur l'interface 4.
Complément
Le modèle de zones proposées correspond à un modèle de filtrage ERA. Les modèles de filtrage ERA sont la description de pare-feu enregistrés dans des fichiers XML situés par défaut dans le répertoire /usr/share/era/modeles/
.
Truc & astuce
Avec ERA il est possible de créer un nouveau modèle personnalisé dans le répertoire /usr/share/era/modeles/
. Celui-ci apparaîtra dans la liste des modèles proposés par défaut.
Configuration du proxy inverse
Redirection de services particuliers
Pour rediriger le service EoleSSO (port 8443) il faut indiquer l'adresse IP ou le nom de domaine interne de la machine de destination (adresse IP ou le nom de domaine interne du module Scribe). Si le service EoleSSO est activé localement il est impossible de réaliser une redirection pour ce service.
Attention
Le service SSO local du module Amon ne devra pas être activé si vous renseignez l'adresse d'un service SSO distant au niveau du proxy inverse.
Redirection HTTP et HTTPS
Pour rediriger HTTP et HTTPS il est nécessaire de passer la variable Activer le reverse proxy Nginx pour le http/https
à oui
et de renseigner plus d'informations :
le
Nom de domaine ou IP à rediriger
: le nom de domaine diffusé auprès des utilisateurs. Ce nom de domaine est celui qui permet d'accéder au module Amon ou AmonEcole ;Activer la redirection pour tous les sous-domaines
: cette variable est disponible à partir de la version 2.6.2 d'EOLE, elle permet la prise en charge de tous les sous-domaines par le proxy inverse ;Demander un certificat à Let's Encrypt pour ce domaine ?
: cette variable est disponible à partir de la version 2.6.2 d'EOLE si la redirection pour tous les sous-domaines n'est pas activé et que le certificat SSL est Let's Encrypt ;le
Répertoire ou nom de la page à rediriger
permet de rediriger un sous-répertoire vers une machine. La valeur par défaut est/
;l'
IP ou domaine de destination (avec http:// ou https://) ou URI complète
permet de saisir l'adresse IP (exemple :http://192.168.10.1
), le nom de domaine (exemple :http://scribe.monetab.fr
) ou l'URI[120] (exemple :http://scribe.monetab.fr/webmail/
) du serveur de destination hébergeant la ou les applications.
Il est possible de forcer l'utilisation du protocole HTTPS pour les requêtes utilisant le protocole HTTP de façon transparente. De cette manière, un utilisateur web se connectant à l'adresse http://monetab.fr
sera automatiquement redirigé vers https://monetab.fr
Ainsi les communications sont automatiquement chiffrées protégeant la transmission de données sensibles (nom d'utilisateur, mot de passe, etc.).
Le proxy inverse peut être utilisé pour ne rediriger que le HTTPS en passant les valeurs Reverse proxy HTTP
à non
et Reverse proxy HTTPS
à oui
.
Il est possible d'ajouter plusieurs redirections en cliquant sur le bouton + Nom de domaine ou IP à rediriger
.
Truc & astuce
Un répertoire déterminé peut également être redirigé vers un serveur différent. Par exemple le lien vers l'application Pronote[121], https://monetab.fr/pronote/
peut être redirigé vers http://pronote.monetab.fr/
(attention, le "/" final est important, puisqu'il faut rediriger à la racine du serveur de destination).
Activation de l'authentification unique
Si vous voulez activer le service EoleSSO sur le module Amon, Utiliser un serveur EoleSSO
à distant
dans l'onglet Services
, dans l'onglet Eole sso
, seuls les paramètres Nom de domaine du serveur d'authentification SSO
et Port utilisé par le service EoleSSO
sont requis et les autres options ne sont pas disponibles car elles concernent le paramétrage du serveur local.
L'option
Nom de domaine du serveur d'authentification SSO
doit être configurée avec le nom de domaine public utilisé dans Envole (typiquement : monetab.ac-monacad.fr).
Dans ce cas l'utilisateur admin
du module Scribe sera administrateur du module Amon.
Dans le cas de l'utilisation du serveur EoleSSO local, Nom de domaine du serveur d'authentification SSO
doit être renseigné avec le nom DNS du serveur.
Nom de domaine et récapitulatif de la configuration
Le nom de domaine doit être renseigner à de multiples endroits de la configuration.
onglet
Général
: choisir le modèle de filtrage ;onglet
Services
:- Activer le proxy inverse Nginx :
oui
;
- Activer le proxy inverse Nginx :
onglet
Eole sso
:- Nom de domaine du serveur d'authentification SSO :
etab.ac-acad.fr
;
- Nom de domaine du serveur d'authentification SSO :
onglet
Applications web
si module AmonEcole :- Nom de domaine des applications web (sans http://) :
etab.ac-acad.fr
;
- Nom de domaine des applications web (sans http://) :
onglet
Reverse proxy
:- Nom de domaine par défaut :
etab.ac-acad.fr
; - Nom de domaine du serveur SSO :
etab.ac-acad.fr
; - Activer la configuration automatique pour les applications locales à
oui
.
- Nom de domaine par défaut :
onglet
Certificats ssl
uniquement en mode expert :- Nom DNS/IP alternatif du serveur :
etab.ac-acad.fr
(ré-générer les certificats si nécessaire).
- Nom DNS/IP alternatif du serveur :
Activer le portail Envole dans l'EAD
Configuration sans module Amon
L'onglet EAD
du portail Envole pointe vers l'EAD du serveur Scribe sur le port 4203.
Envole est configuré par défaut pour fonctionner derrière un Amon.
Si vous souhaitez utiliser autre chose qu'un module Amon, la valeur du port est modifiable depuis l'interface de configuration du module :
En Mode
/ Expert
onglet Ead-web
passer Utilisation d'un reverse proxy pour l'accès à l'EAD
à
non
.
Personnalisations visuelles
Personnalisation avec Envole Thèmes
Présentation
Envole Thèmes permet de récupérer des thèmes pour les différents éléments visuels propre à Envole : mire SSO, EAD, portail Envole, les diverses applications supportées par la mutualisation, …


Installation d'Envole Thèmes
Installation du paquet eole-envole-themes
Envole Thèmes s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-envole-themes
Pour choisir le thème parmi la liste proposée il faut se rendre dans l'interface de configuration du module dans l'onglet Applications web
et choisir le thème dans Nom du Thèmes
.
Envole Thèmes n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Attention
Cette solution n'est pas compatible avec certaines des personnalisations manuelles de la mire SSO.
Changer la page d'accueil
Envole démarre par défaut sur la page intitulé Mon carnet qui est l'accueil du réseau social.
Plusieurs configurations sont disponibles.
Depuis l'interface d'administration :
Dans l'onglet
Configuration / Configuration générale de l'application
;Dans
A chaque connexion, charger par défaut
;- Choisissez parmi :
-
Le premier onglet
: ouvrira le premier onglet de l'utilisateur (pas Mon carnet) ; -
La page ouverte à la dernière fermeture
: ouvre le dernier onglet ouvert par l'utilisateur ou le premier onglet ; -
L'accueil (si applicable)
: ouvrira la page Mon carnet si le réseau social est activé.
Personnalisation de la mire SSO
Ce chapitre répertorie les différentes possibilités offertes pour personnaliser l'apparence de la page d'authentification du serveur EoleSSO (pour une meilleure intégration dans l'environnement existant, et en particulier dans le cadre d'un portail d'accès aux ressources d'un établissement).
Message d'avertissement (CNIL)
Il est prévu de pouvoir afficher un message relatif à la déclaration CNIL du site.
- mettre le texte du message d'avertissement (formaté en HTML) dans un fichier
avertissement.txt
qui est à placer dans le répertoire/usr/share/sso/interface/theme
; - relancer le service : CreoleService eole-sso restart
ExempleExemple de déclaration
Conformément à la loi, nous vous informons que ce site a fait l'objet d'une déclaration de traitement automatisé d'informations nominatives auprès de la CNIL Loi du 6 janvier 1978 relative à l' « Informatique et aux Libertés » :<br />
Conformément à la loi n° 78-17 du 6 janvier 1978, vous pouvez à tout moment accéder aux informations personnelles vous concernant et détenues par l'établissement, demander leur modification ou leur suppression. Ainsi, vous pouvez, à titre irrévocable, demander que soient rectifiées, complétées, clarifiées, mises à jour ou effacées les informations vous concernant qui sont inexactes, incomplètes, équivoques, périmées ou dont la collecte ou l'utilisation, la communication ou la conservation est interdite.<br/>
Pour toutes demandes, veuillez contacter l'administrateur à l'adresse : administrateur@etablissement.fr
CSS : Méthode 1
La feuille de style par défaut /usr/share/sso/interface/main.css
importe les feuilles de style ./theme/style/theme.css
et ./leaves.css
:
[ …]
@import url(./leaves.css);
@import url(./theme/style/theme.css);
[…]
Comme le fichier ./theme/style/theme.css
est appelé en deuxième dans la feuille il va permettre une surcharge de la première feuille de style ./leaves.css
.
Éditer le fichier vide ./theme/style/theme.css
appelé dont le chemin absolu est /usr/share/sso/interface/theme/style/theme.css
.
S'inspirer des balises de style utilisées dans le fichier /usr/share/sso/interface/leaves.css
pour les surcharger.
Utiliser le répertoire /usr/share/sso/interface/theme/images
pour ajouter vos images.
Recharger votre page d'authentification sans même redémarrer le service eole-sso
, la feuille de style est importée avec les modifications.
Attention
Cette méthode n'est pas compatible avec la personnalisation Envole Thèmes. Celui-ci écrase le contenu du fichier /usr/share/sso/interface/theme/style/theme.css
à chaque reconfigure. Il est possible d'enlever Envole Thèmes avec la commande suivante : # apt-get remove eole-envole-themes
CSS : Méthode 2
Un certain nombre de thèmes sont fournis dans le répertoire /usr/share/sso/interface/themes/
.
Il suffit de copier le thème voulu pour le rendre actif :
# /bin/cp -R /usr/share/sso/interface/themes/<nomDuTheme>/* /usr/share/sso/interface/theme
Recharger votre page d'authentification sans même redémarrer le service eole-sso
, la feuille de style est importée avec les modifications.
Truc & astuce
N'hésitez pas à proposer votre thème, il sera ajouté au paquetage et reversé à la communauté d'utilisateurs.
CSS : Méthode 3
La feuille de style CSS par défaut utilisée lors de l'affichage de la page d'authentification au portail est :
/usr/share/sso/interface/leaves.css
Il est possible d'utiliser une feuille de style CSS personnalisée pour la mire SSO.
Les fichiers CSS à utiliser sont à placer dans :
/usr/share/sso/interface/
Dupliquer la feuille de style originale sous un autre nom.
Modifier à volonté votre_nouvelle_feuille.css
Renseigner le nom de votre feuille sans l'extension (.css
) dans l'onglet Eole sso
depuis l'interface de configuration du module.
Réaliser autant de feuilles de style que souhaités.
Remarque
Si vous faites appel à des images, placez-les dans :
/usr/share/sso/interface/images/
Il est possible de passer le nom de la CSS en paramètre dans URL :
http://<adresse_serveur>/css=<nom_de_la_feuille_CSS>
Si vous utilisez un client phpCAS, il faudra modifier le client pour utiliser cette méthode (les URLs sont calculées par le client).
Truc & astuceChoix de la CSS par le filtre SSO
Si un fichier CSS porte le même nom qu'un filtre d'application (par exemple, ead2.css
), cette feuille de style CSS sera automatiquement utilisée lors des demandes à cette application (dans le cadre d'un portail web par exemple).
Applications pré-installées
Il est possible d'ajouter au module utilisé (AmonEcole, Scribe) des applications web pré-installées et de les intégrer à Envole.
Il y différentes méthodes de mise en œuvre et les rôles des utilisateurs sont très différents d'une application à l'autre.
Reportez-vous à la documentation de chacune d'elles pour plus d'informations.
Truc & astuceReconfiguration du module
De nombreuses applications nécessitent d'être activées depuis l'interface de configuration du module et une reconfiguration du serveur est indispensable.
Cette procédure est relativement longue, il est donc possible d'activer plusieurs applications et de ne lancer qu'une fois la commande reconfigure
.
Adminer : gestionnaire de base de données
Présentation
Adminer est une application Web offrant une interface graphique pour plusieurs systèmes de gestion de base de données (MySQL, SQLite, PostgreSQL, Oracle, etc), réalisée en PHP et distribuée sous licence Apache.
Il se présente comme une alternative légère à phpMyAdmin et a pour particularité d'être entièrement contenu dans un seul fichier PHP. On peut toutefois ajouter un fichier CSS, pour modifier la présentation ; il y en a de nombreux disponible le site officiel.
Installation
Cette application est pré-installée sur les modules Scribe, Horus, Seshat, Thot ainsi que sur AmonEcole et toutes ses variantes.
Accéder à l'application
Pour accéder à l'application, se rendre à l'adresse : https://<adresse_serveur>/adminer/

Dans le mode MySQL, l'utilisateur peut être l'utilisateur root
de MySQL ou un autre utilisateur de la base.
Le champ Base de données peut être laissé vide pour accéder à l'ensemble des bases de données.
Attention
L'accès à l'application ne peut se faire que depuis une adresse IP autorisée dans l'interface de configuration du module (Onglet Interface-n
, sous-menu Administration distante sur l'interface
, mettre Autoriser les connexions pour administrer le serveur
à oui
, remplir le champ Adresse IP réseau autorisé
avec l'adresse IP ou la plage d'adresses IP souhaitée).
Rôles de utilisateurs
Les utilisateurs autorisés à se connecter sont les utilisateurs de MySQL.
Il est possible de déléguer tout ou une partie des droits d'administration.
Remarques
Le mot de passe root de MySQL est réinitialisé avec une chaîne de caractères aléatoires à chaque reconfiguration du serveur.
Le mot de passe de l'utilisateur root
de MySQL peut être réinitialisé avec la commande :
mysql_pwd.py
Truc & astuce
Si vous prévoyez d'utiliser régulièrement Adminer, il est préférable de créer un utilisateur MySQL dédié pour l'administration des bases de données.
Le mot de passe de ce compte ne sera pas écrasé après une reconfiguration du module.
Roundcube : interface pour le courrier électronique
Présentation
Installation
Cette application est pré-installée sur les modules Scribe et AmonEcole 2.8.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : https://<adresse_serveur>/roundcube/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Comptes de messagerie secondaires
À partir de la version 0.9.1 le greffon pop3fetcher est intégré à Rouncube. Il est désormais possible pour les utilisateurs de paramétrer des comptes de messagerie secondaires. Ainsi ils peuvent consulter dans Roundcube leurs courriels d'une autre messagerie.
Cette option est par défaut à oui
mais est désactivable dans l'onglet Applications web
de l'interface de configuration du module.
Dans Rouncube ce paramétrage s'effectue dans les préférences
de l'utilisateur dans la section Autres comptes
.
Attention
En mode conteneur, lorsqu'on active cette fonctionnalité, les ports 110 et 995 sont autorisés du conteneur web vers l'extérieur.
Nextcloud : stockage et partage de fichiers
Présentation
Installation
Cette application est pré-installée sur les modules Scribe et AmonEcole 2.8.1.
Configuration
Des variables disponibles dans l'onglet Applications web
de l'interface de configuration du module permettent d'adapter la configuration de l'application.
Activer nextcloud (gestionnaire de fichiers)
Cette variable permet d'activer/désactiver l'application web Nextcloud sur le module.
Nextcloud est une application web qui permet à l'utilisateur de gérer ses fichiers au travers d'un navigateur.
Une seconde variable permet de personnaliser la taille maximum autorisée pour les fichiers téléversés via l'application.
Truc & astuce
Si un proxy est déclaré dans l'onglet Général
, Nextcloud l'utilisera pour accéder à des ressources externes.
La variable du mode expert : Domaines exclus du proxy
permet de déclarer des exceptions.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : https://<adresse_serveur>/nextcloud/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
EOP : outils à destination des enseignants
Présentation
L'objectif de l'application web EOP (EOLE Outils Profs) est de proposer une interface simple contenant un ensemble d'outils à destination des enseignants. Cette nouvelle application, indépendante, ne traite pas uniquement de la gestion des documents et peut être intégrée dans un portail. Le développement est basé sur le framework python Flask[86].
Principales fonctionnalités
gestion de documents (distribution simple, ou distribution et ramassage) ;
possibilité de changer le mot de passe d'un élève ;
possibilité de changer le mot de passe du compte enseignant.
Remarque
Pour désactiver l'application il faut se rendre dans l'interface de configuration du module en mode normal, dans l'onglet Applications web et passer Activer EOP (gestion de devoir)
à non
.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application il faut se rendre à l'adresse : https://<adresse_serveur>/eoleapps/eop/documents/
Rôles des utilisateurs
Seuls les enseignants et l'utilisateur admin
(enseignant également) ont un accès à l'application.
Les professeurs principaux ont accès à quelques fonctionnalités supplémentaires.
Les élèves disposent des documents distribués dans leur répertoire personnel mais n'ont pas d'accès à l'application EOP.
Fonctionnalités
Menu Documents

Distribuer : permet de gérer la distribution de documents ;
Ramasser : permet de récupérer un document distribué et nécessitant la modification par les utilisateurs ;
Rendre : permet d'annoter les documents ramassés et de les restituer ;
Historique : permet de lister les différents documents et de connaître leur état.
Menu Gestion

Mots de passe : visible uniquement avec le rôle de professeur principal, cette option permet de changer le mot de passe d'un ou de plusieurs utilisateurs.
Délégation de droits : visible uniquement avec le rôle de professeur principal, elle permet de déléguer la gestion des mots de passe (dans EOP et EAD) et des comptes élève (dans l'EAD) pour une classe donnée.
Menu Préférences

Mots de passe : permet de modifier son propre mot de passe.
EOE : outils à destination des élèves
Présentation

L'objectif de l'application web EOE (EOLE Outils Élèves) est de proposer une interface simple contenant un ensemble d'outils à destination des élèves. Cette nouvelle application permet, pour le moment, à l'élève de changer son mot de passe et peut être intégrée dans un portail. Le développement est basé sur le framework python Flask[86].
Principale fonctionnalité
possibilité de changer le mot de passe du compte élève.
Installation
Cette application est pré-installée sur le module Scribe à partir de la version 2.4.2.
Sur une version antérieure EOE n'est pas disponible.
Pour désactiver l'application il faut se rendre dans l'interface de configuration du module en mode normal, dans l'onglet Applications web et passer Activer EOE (gestion de mot de passe élève)
à non
.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application il faut se rendre à l'adresse : https://<adresse_serveur>/eoleapps/eleves/passperso
Rôles des utilisateurs
Les enseignants, les élèves ainsi que l'utilisateur admin
(enseignants également) ont un accès à l'application.
Applications pré-packagées
Il est possible d'ajouter au module utilisé (AmonEcole, Scribe) des applications web pré-packagées dont l'installation est laissée à votre initiative.
Il y différentes méthodes de mise en œuvre et les rôles des utilisateurs sont très différents d'une application à l'autre.
Reportez-vous à la documentation de chacune d'entre elles pour plus d'informations.
Attention
Applications plus maintenues par la mutualisation et supprimées d'Envole-6
:
- Bergamote : indexation et recherche de fichier
- Feng Office : plate-forme collaborative
- ICONITO : Espace Numérique de Travail pour le 1er degré
- Jappix : client web Jabber
- SPIP Eva : gestion de contenu, remplacé par Wordpress
- Webcalendar : agendas partagés
Attention
Applications plus maintenues par la mutualisation supprimées d'Envole-7
:
- Calendrier : gestion des événements
- CDC : carnet de correspondance
- ownCloud : stockage et partage de fichiers, remplacé par Nextcloud
- Posh : portail historique d'Envole, remplacé par Ninegate
- Pydio : gestionnaire de fichiers, remplacé par Nextcloud
- SAP : administration du réseau social d'Envole
- Taskfreak : gestionnaire de projet
Attention
Applications plus maintenues par la mutualisation supprimées d'Envole-8
:
- Etherhome : accès unifié aux applications collaboratives, remplacé par Nineboard
Balado : partager ses enregistrements
Présentation
Dans le domaine éducatif, l'espace Balad((O)) de l'académie de Créteil permet de s'enregistrer directement en ligne et de partager ses enregistrements. Mais il offre plus que cela. D'abord, grâce aux flux RSS, c'est également un site de podcasting. Ensuite, la possibilité d'associer aux fichiers audio des images, des textes et des vidéos lui donne une véritable dimension pédagogique. L'espace Balad((O)) peut être utilisé comme un « labo de langues » asynchrone en ligne pour mettre en place des activités de classe, hors de la classe, c'est-à-dire des activités distantes et différées.
Installation de Balad((O))
Balad((o)) s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-balado
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/balado/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
professeur : l'enseignant dispose d'un espace privé dans lequel il retrouve virtuellement ses élèves et ses groupes de classe. Après identification, il crée en ligne des activités qu'il diffusera à ses classes. Pour cela, il dispose d'un couple éditeur de texte / lecteur‑enregistreur qui autorise une grande souplesse pour la préparation du travail.
élève : chaque élève possède un accès personnalisé à l'espace Balad((O)). Une fois connecté, il accède aux activités préparées par ses professeurs avec tous leurs éléments : texte enrichi, enregistrement audio et pièces jointes qu'il télécharge d'un simple clic. Il écoute en ligne le fichier audio, mais il peut également le sauvegarder en local pour l'écouter ultérieurement, indépendamment de tout accès à Internet, et le transférer éventuellement sur son baladeur.
Cdt : cahier de textes numérique
Présentation
Cdt est un cahier de textes numérique.
Il permet aux enseignants la saisie des devoirs dans le cahier de textes et la consultation pour les élèves.
Remarque
Cdt est également surnommé Chocolat.
Cette application est sous licence GPL mais en marge de cette licence vous êtes convié à offrir une tablette de chocolat au développeur de l'application.
Installation
Cdt s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-cdt
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/cdt/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Tout utilisateur présent dans l'annuaire possède un accès à l'application.
Les profils administrateur, élève, responsable, professeur, direction (DIR) et vie scolaire (EDU) sont automatiquement associés aux rôles correspondants dans l'application.
Tout autre profil se voit créé un compte bloqué, charge à l'administrateur d'y associer le bon rôle.
Administrateur
L'utilisateur admin
est administrateur de l'application, il peut notamment procéder à l'import des emplois du temps depuis les fichiers issus de SIECLE : sts_emp_xxx.xml
/ emp_sts_xxx.xml
.
Professeur
Les enseignants ont un accès professeur à l'application, ils enregistrent leur emploi du temps afin de pouvoir ensuite gérer leurs séances de cours.
Élève
Les élèves peuvent seulement consulter le cahier de textes, ils ne peuvent pas l'éditer mais accèdent automatiquement au contenu de leur classe (séances et travail à faire).
Responsable
Les responsables peuvent seulement consulter le cahier de textes, ils ne peuvent pas l'éditer mais accèdent automatiquement au contenu des classes de leurs enfants (séances et travail à faire).
Personnel de direction
Ils gèrent les visas, diffusent des messages, planifient des événements et accèdent aux différentes données du cahier de textes.
Vie Scolaire
Ils diffusent des messages, planifient des événements et accèdent aux différentes données du cahier de textes.
Invité
Ce rôle permet de donner un accès à certains cahiers de textes.On peut être "invité" sans avoir de compte (ldap), pour cela la direction (pour chaque enseignant), ou un enseignant lui-même, dispose d'une url sécurisée à transmettre pour un accès anonyme.
Importation des emplois du temps
L'importation s'effectue depuis le menu de l'administrateur : Importation de données depuis SIECLE/STS-Web
.
Pour plus de détails, consulter la page : http://dev-eole.ac-dijon.fr/projects/cdt/wiki/Wiki#Importation-des-emplois-du-temps
Activation des sondes piwik
Les sondes permettent de comptabiliser les accès enseignant et en consultation.
Elles ne sont pas actives par défaut.
On les active en renseignant les valeurs envole_piwik_url
(sans le http://) et envole_piwik_idsite
dans la table cdt_params
qui sont présentes mais valant respectivement "" et 0.
Pour plus de détails, consulter la page : http://dev-eole.ac-dijon.fr/projects/envole/wiki/SondesPiwik
ExempleExemples de requêtes
UPDATE `cdt_params` SET `param_val`="etablissement.ac-creteil.fr/piwik2/" WHERE `param_nom`='envole_piwik_url';
UPDATE `cdt_params` SET `param_val`="2" WHERE `param_nom`='envole_piwik_idsite';
Application de redirection : Eole-dispatcher
Dans le cadre de l'utilisation du module Seshat en tant que point d'entrée d'un ENT centralisé, l'application Eole-dispatcher permet de rediriger les utilisateurs vers leur établissement d'origine. Elle se base sur les informations remontées lors de la mise en place de la réplication des serveurs Scribe.
Elle est également prévue pour gérer le cas de l'affectation multiple pour les enseignants et les responsables :
un enseignant qui aurait des services sur plusieurs établissements se verrait proposer le choix de l'établissement sur lequel il souhaite se connecter ;
un parent d'élève qui aurait plusieurs enfants dans des établissements différents se verrait également proposer le choix de l'établissement. Il est à noter que la problématique de la l'affectation multiple pour un élève ne se pose pas, puisque ce dernier ne peut pas être scolarisé dans deux établissements.
Eole-dispatcher est capable (au travers de ses filtres d'attributs) de gérer les sources d'authentification suivantes :
LDAP Académique pour les agents de l'Éducation nationale ;
LDAP Téléservices pour les parents et élèves ;
LDAP local (réplicat des serveurs Scribe) pour l'authentification des élèves et parents (si les téléservices ne sont pas déployés).
Remarque
Le terme affectation est à prendre au sens large, il désigne l'appartenance d'une personne à un établissement.
Pré-requis
Cette application nécessite :
la mise en place de la réplication LDAP des serveurs Scribe sur le serveur Seshat ;
l'alimentation des annuaires des serveurs Scribe avec des extractions AAF EXCLUSIVEMENT ;
la bonne saisie des numéros et libellés établissement sur les serveurs Scribe et Zéphir ;
la configuration d'une fédération entre chaque serveur Scribe et le serveur Seshat (voir documentation EoleSSO au chapitre : Fédération entre 2 serveurs EoleSSO).
Installation
Le dispatcher est à installer sur le module Seshat, afin d'utiliser son portail EoleSSO comme portail unique d'authentification vers les ENT (Envole).
L'application n'est pas installée par défaut. Via l'interface de configuration du module, configurer le serveur pour recevoir les applications web :
en mode normal dans l'onglet
Services
, passerActiver le serveur web Apache
àoui
;
dans l'onglet
Applications web
, saisissez le nom de domaine des applications web dansNom de domaine des applications web (sans http://)
;enregistrer la configuration et quitter l'interface de configuration du module.
Puis saisir les commandes suivantes sur le module Seshat pour installer le paquet eole-dispatcher
:
# Query-Auto
# apt-eole install eole-dispatcher
Configuration
Une fois les paquets installés, il faut de nouveau se rendre dans l'onglet Application web
de l'interface de configuration du module et passer Activation de la redirection vers les portails ENT
à oui
. Des paramètres supplémentaires s'affichent.
Rediriger en automatique si un seul ENT
;Proposer le PIA aux professeurs
: permet de proposer le portail académique aux enseignants ;RNE du Portail académique (PIA)
: permet de saisir l'UAI du portail académique ;Portail académique (PIA)
: portail sur lequel seront redirigés les personnels académiques ;Portail par défaut
: adresse du site Internet dédié à l'ENT si aucun portail d'établissement n'est disponible pour l'utilisateur ;webService Arena
: URL complète du webService ARENA pour la récupération des ressources ;Zone par défaut pour le webService Arena
: zone par défaut du portail ARENA.
Il est possible de changer ou de désactiver le thème.
Une fois l'application paramétrée, il est nécessaire de reconfigurer le serveur à l'aide de la commande reconfigure
.
Une fois le serveur reconfiguré, l'application est accessible à l'adresse : http://<adresse_serveur>/edispatcher/
Truc & astuce
Il est possible de rendre l'application directement accessible depuis l'adresse http://<adresse_serveur>/
, en renseignant /edispatcher
en tant qu'Application web par défaut (redirection)
dans la famille Applications web
Fonctionnement
L'installation du dispatcher va mettre en place sur le serveur SSO les filtres d'attributs nécessaires afin de rediriger correctement la personne.
Extrait du fichier /usr/share/sso/app_filters/dispatcher.ini
:
[user]
rne=ecs_rne
user=uid
uid=uid
source=SourceAuth
FederationKey=DispatcherKey
displayName=displayName
profils=DispatcherProfils
auth=auth
L'attribut calculé ecs_rne
, va permettre de récupérer les codes RNE en fonction des établissements d'affectation de l'utilisateur.
Lors de la connexion d'une personne, Eole-dispatcher va prendre tous les RNE reçus de EoleSSO et présenter tous les liens de fédération pour l'accès aux portails Envole le concernant.
ExempleExemple d'URL de fédération
https://<domaineSeshatSSO>/saml?sp_ident=<id_fs>&RelayState=https://<URL_du_portail_Établissement>
Cette URL effectue une fédération vers le fournisseur de service <id_fs>
et redirige vers l'<URL_du_portail_Établissement>
du client en fournissant un identifiant de session.
Eole-dispatcher et EoleSSO
RNE : id_fs
id_fs
est :
soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta-données) ;
soit le nom de son fichier de méta-données placé dans
/usr/share/sso/metadata/
(sans l'extension.xml
).
Par simplicité il est possible de nommer le fichier metadata de nos entités partenaires (Serveur Scribe des établissements) par <RNE>.xml
; id_fs
est alors le code RNE de l'établissement.
Libellé et adresse du portail des établissements : URL_du_portail_Établissement
EoleSSO va générer automatiquement, à chaque redémarrage du service eole-sso
, un fichier dans /var/www/html/edispatcher/utils/etabs.ini
qui va contenir les entrées nécessaires pour chaque établissement :
[9740091F]
libelle = COLLEGE LECONTE DE LISLE
portail = https://portail.college-lecontedelisle.re
...
Ces entrées sont récupérées depuis Zéphir, il est donc nécessaire que les serveurs Scribe soient enregistrés sur le serveur Zéphir. Dans le cas contraire, ou si des informations sont incorrectes ou manquantes, il faudra remplir ce fichier à la main (voir le chapitre
: Gestion des sources d'authentification multiples).
Vous pouvez vous baser sur le fichier d'exemple : /var/www/html/edispatcher/utils/etabs.ini.sample
.
Truc & astuceMessage d'erreur : aucun portail trouvé
Description de liens vers des applications web ou vers des portails.
Fichier /var/www/html/edispatcher/applications.ini
:
Format des sections :
[<identifiant du lien>]
url="<adresse du lien>"
piwik=<identifiant piwik>
Paramétrage des URLs : il est possible d'insérer des étiquettes dynamiques dans les URLs
[SSO] : adresse du serveur SSO de Seshat
[PORTAILHOST] : portail dépendant de la zone d'accès du client (configuré dans portails.ini)
[TICKET] : identifiant de session
Configuration de l'accès à un portail en fonction de la plage IP du client
Eole-dispatcher est également utilisé dans certaines académies comme portail d'authentification unique pour l'accès aux portails ARENA[114].
Il peut exister plusieurs portails en fonction de l'endroit où se trouve l'utilisateur. Par exemple, dans l'académie de la Réunion il existe au moins trois portails d'accès aux application ARENA :
portail.ac-reunion.fr
(accessible en externe) ;
scoens.ac-reunion.fr
(depuis le réseau pédagogique des établissements) ;
scoweb.ac-reunion.fr
(depuis le réseau administratif).
Chaque portail, en fonction de sa zone de confinement, ne présentera pas les mêmes ressources et l'utilisation d'une clé OTP[103] sera proposée ou non.
Il faut donc permettre à l'utilisateur d'obtenir le bon portail en fonction de la zone où il se trouve.
Complément
La fonction GetPortailHost
du fichier /var/www/html/edispatcher/inc.php
du dispatcher permet, en fonction de l'adresse IP du client, de rediriger l'utilisateur vers le bon portail. La récupération de l'adresse IP du client se base sur le champ HTTP_X_FORWARDED_FOR
des headers HTTP.
Les différentes associations réseau / portail sont définies dans le fichier /var/www/html/edispatcher/utils/portails.ini
.
Créer le fichier /var/www/html/edispatcher/utils/portails.ini
et ajouter des sections décrivant une plage IP et l'adresse du portail correspondant :
[<adresse IP>]
mask=<masque IP>
portail="<adresse du portail pour cette plage IP>"
Un exemple de fichier est présent dans : /var/www/html/edispatcher/utils/portails.ini.sample
.
Exemple
[172.16.0.0]
mask=13
portail="scoens.ac-reunion.fr"
arena="rev-proxy-peda"
[172.31.190.64]
mask=26
portail="portail.ac-reunion.fr"
arena="rev-proxy-id"
[172.31.16.0]
mask=16
portail="portail.ac-reunion.fr"
arena="rev-proxy-id"
[10.205.0.0]
mask=16
portail="scoweb.ac-reunion.fr"
arena="rev-proxy-agr"
Exemple
Dans cet exemple, tout utilisateur se présentant avec une adresse IP du réseau 10.205.0.0/16, se verra renvoyé vers l'URL du portail académique https://scoweb.ac-reunion.fr.
La variable arena
, permet de spécifier la zone ClearTrust associée au portail. Elle est utilisée si vous souhaitez intégrer les ressources ARENA dans le bureau Envole.
Plus d'informations : https://envole.ac-dijon.fr/wordpress/2014/02/19/integration-de-arena-dans-le-bureau-envole.
Dokuwiki : rédaction à plusieurs
Présentation
DokuWiki est un Wiki simple d'utilisation. Il permet l'édition et la rédaction commune entre plusieurs utilisateurs.
Installation
DokuWiki s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-dokuwiki
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Attention
Il existe un paquet dokuwiki qu'il ne faut pas confondre avec le paquet eole-dokuwiki.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/dokuwiki/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.
administrateur
Seul l'utilisateur
admin
est administrateur de l'application.Il a un accès complet à l'application et à sa configuration.
Il peut déléguer se rôle à un autre utilisateur mais aussi à un groupe d'utilisateurs.
Il peut aussi, ajouter des privilèges à un ou plusieurs utilisateurs.
@ALL
Toute personne ayant un compte authentifié sur Scribe est "ALL" mais n'a aucun droit.
@professeurs
Les enseignants peuvent créer des nouvelles pages et éditer.
@eleves
Les élèves ont le droit de lecture sur l'ensemble du wiki.
@administratifs
Les administratifs n'ont pas de droit sur le wiki
visiteur anonyme
Ne peut pas accéder à l'application.
Sur le module Horus, l'utilisateur admin
est administrateur de l'application et les autres utilisateurs n'ont par défaut aucun droit.
Remarque
Les rôles sont directement modifiables dans l'application par l'administrateur :
http://<adresse_serveur>/dokuwiki/doku.php?id=start&do=admin&page=acl
Remarques
Les données utilisateurs relatives à l'application sont stockées dans le répertoire data/
de l'application et sont sauvegardées par Bacula.
Il existe 3 fichiers de configuration pour Dokuwiki :
dokuwiki.php
→ le fichier principal ;local.php
→ le fichier secondaire est vide pour utilisation ultérieure ;local.protected.php
→ le fichier protégé qui contient les configurations sensibles :- la méthodes d'authentification ;
- les informations relatives à l'annuaire LDAP ;
- l'emplacement du répertoire qui contient les données de Dokuwiki.
eConnect : centralisation et mise à disposition de ressource en ligne
Présentation
eConnect une application permettant de centraliser l'activation/configuration via une interface web des connecteurs et la mise à disposition des ressources dans Envole pour les utilisateurs.
Installation
eConnect s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-envole-connecteur
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/econnect/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Tous les utilisateurs présents dans l'annuaire ont un accès à l'application.
Seul l'utilisateur admin
est administrateur de l'application.
Remarques
eConnect, n'a pas vocation à gérer les abonnements avec l'éditeur, mais uniquement de configurer le serveur eoleSSO et de mettre à disposition les ressources. Il est donc toujours nécessaire que l'établissement prenne contact avec l'éditeur pour acheter la ressource. D'une manière générale, l'éditeur va configurer son service SSO et communiquer un code d'activation à l'établissement. Code d'activation que l'établissement pourra gérer directement dans eConnect.
eConnect, va permettre également de mettre à disposition des ressources ne nécessitant pas de connecteurs SSO. Comme par exemple, des ressources gratuites.
Truc & astuce
eConnect, pourra aussi bien s'installer sur un serveur Scribe que sur un serveur Seshat pour une centralisation académique. Dans le cas d'une centralisation académique, un profil administrateur local sera créé donnant ainsi à une (ou des) personne(s) d'un établissement les droits pour la mise à disposition des ressources en fonction de ses abonnements.
ePortail : portail d'entreprise
Présentation
ePortail est un portail d'entreprise tourné vers l'intranet comme l'extranet.
Installation
ePortail s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-eportail
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/eportail/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Tous les utilisateurs présents dans l'annuaire possèdent un accès à l'application.
administrateur
Seul l'utilisateur
admin
est "administrateur" de l'application, il peut :- Configurer les onglets
- Configurer des widgets
- Administrer la gestion des profils.
EtherCalc : tableur collaboratif
Présentation
EtherCalc est un tableur collaboratif en temps réel, libre, écrit en JavaScript. Il s'agit donc d'une feuille de calcul où les contributions de chacun apparaissent immédiatement sur l'écran de tous les participants.
Installation de EtherCalc
EtherCalc s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-ethercalc
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ethercalc/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Attention
Le symbole /
est obligatoire à la fin de l'URL pour pouvoir accéder à l'application : http://<adresse_serveur>/ethercalc/
Rôles des utilisateurs
Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.
Remarques
Le port d'écoute d'EtherCalc est par défaut 9002
, ce paramètre peut être changé dans l'onglet Applications web
de l'interface de configuration du module.
EtherDraw : dessin collaboratif
Présentation
EtherDraw est un outil intuitif basé de dessin collaboratif.
Installation de EtherDraw
EtherDraw s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-etherdraw
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Etherhome : accès unifié aux applications collaboratives
Présentation
EtherHome est une Interface PHP qui permet de gérer ses pads et ses calc.
Installation de Etherhome
Etherhome s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-etherhome
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
EtherPad : écriture collaborative
Présentation
EtherPad est un éditeur de texte libre en ligne fonctionnant en mode collaboratif et en temps réel. Il permet à plusieurs personnes (16 par défaut) de partager l'élaboration simultanée d'un texte, et d'en discuter en parallèle, via une messagerie instantanée.
Il peut avoir des usages pédagogiques, notamment pour l'apprentissage collaboratif.
Installation de EtherPad
EtherPad s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-etherpad
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/etherpad/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Attention
Le symbole /
est obligatoire à la fin de l'URL pour pouvoir accéder à l'application : http://<adresse_serveur>/etherpad/
Rôles des utilisateurs
Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.
Remarques
Le port d'écoute d'EtherPad est par défaut 9001
, ce paramètre peut être changé dans l'onglet Applications web
de l'interface de configuration du module.
FluxBB : forum de discussions
Présentation
FluxBB est une application web de forum de discussions basé sur PunBB.
Il offre moins de fonctionnalités que beaucoup d'autres forums, mais il est généralement plus rapide.
Installation de FluxBB
FluxBB s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-fluxbb
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/fluxbb/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Tous les utilisateurs présents dans l'annuaire possèdent un accès à l'application.
administrateur
Seul l'utilisateur
admin
est "administrateur" de l'application, il peut :- Organiser les catégories et forums.
- Définir les options et préférences pour chaque forum.
- Contrôler les permissions pour les utilisateurs et les invités.
- Afficher les statistiques IP des utilisateurs.
- Exclure des utilisateurs.
- Censurer des mots.
- Paramétrer les statuts d'utilisateurs.
- Élaguer d'anciens messages.
- Traiter les signalements de messages.
modérateur
Seuls les professeurs sont modérateurs du forum, ils peuvent :
- Exclure des utilisateurs.
- Censurer des mots.
- Paramétrer les statuts d'utilisateurs.
- Traiter les signalements de messages.
membre
Les élèves sont membres du forum, ils peuvent :
- créer de nouvelle discussion
- répondre à une discussion
invité
Les personnes non authentifiées, les responsables et les administratifs ont le rôle invité.
Ils peuvent consulter le forum.
Gepi : gestion des notes, des absences, et des cahiers de texte
Présentation
Gepi est un logiciel libre de gestion des notes, des absences, et des cahiers de texte pour les établissements francophones du second degré.
Installation
Gepi s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-gepi
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : https://<adresse_serveur>/gepi/
L'authentification peut se faire :
- par le biais d'une authentification SSO (
Utilisation du service SSO pour les applications de votre serveur scribe
àoui
) ; - par le biais d'une authentification LDAP.
Attention
Pour des raisons de sécurité évidentes, l'accès en HTTPS est fortement recommandé.
De plus il permet d'éviter l'affichage des messages d'avertissement lors d'une session en tant qu'utilisateur admin
.
Importation des comptes
En début d'année, un outil de synchronisation des bases permet de créer l'ensemble des comptes utilisateurs depuis l'annuaire LDAP du module Scribe.
Attention
L'initialisation des bases supprime un grand nombre de données déjà entrées.
L'import ne doit donc être réalisé qu'une seule fois en début d'année.
La mise à jour des informations importées est réalisée lors de la connexion des utilisateurs.
- se connecter en tant qu'utilisateur
admin
à l'application ; - si l'application était déjà utilisée, consulter http://www.sylogix.org/projects/gepi/wiki/Avant_initialisation ;
- se rendre dans
Gestion générale
/Initialisation à partir de l'annuaire LDAP du serveur Eole Scribe NG
; - lancer les 7 étapes, dans l'ordre.
Les données importées nécessitent par la suite quelques réglages :
- attribution des rôles adéquats au personnel administratif ;
- regroupement d'enseignements inter-classe ;
- ... .
ConseilAffectation des matières à des professeurs
En tant qu'utilisateur admin
, aller dans :
Gestion des bases
/ Gestion des comptes d'accès des utilisateurs
/ Personnels de l'établissement
/ Affecter les matières aux professeurs
.
ConseilAjouts d'enseignements
Aller dans
Gestion des bases
/Gestion des classes
;Choisir une classe dans le tableau puis cliquer sur
Enseignements
;En haut à droite "Ajouter des enseignements" et choisir dans la liste "Sélectionner matière".
Cliquer sur
Créer
.
Il est possible par la suite de ré-éditer ces enseignements pour :
Ajouter un ou des professeurs à l'enseignement ;
Associer une autre ou d'autres classes à l'enseignement.
Lors de la création d'un enseignement, tous les élèves de la classe sont par défaut inscrits dans l'enseignement.
Il faut passer en revue les enseignements optionnels pour décocher les élèves qui ne suivent pas l'enseignement.
Pour cela, toujours dans la Gestion des classes :
Gestion des bases
/Gestion des classes
Choisir une classe dans le tableau puis cliquer sur
Enseignements
.Choisir dans le tableau l'enseignement puis cliquer sur
<Enseignement> Élèves inscrits (XX-XX-XX)
.Choisir un élève dans le tableau et utiliser les coches pour choisir les périodes ou utiliser la croix rouge pour tout décocher.
Enregister vos changements.
ConseilAjouter un enseignement à cheval sur plusieurs classes
- Aller dans
Gestion des bases
/Gestion des classes
; - Choisir une classe dans le tableau puis cliquer sur
Enseignements
. - En haut à droite, "Ajouter des enseignements" et choisir dans la liste "Sélectionner matière" en précisant qu'il concerne plusieurs classes (bouton radio) ;
- Cliquer sur
Créer
; - Préciser le nom de l'enseignement (regroupement) ;
- Cocher les classes et le(s) enseignant(s) ;
- Cliquer ensuite sur le lien
Eleves (XX-XX-XX)
pour cocher / décocher les élèves qui doivent suivre ou non l'enseignement.
ConseilFusionner des enseignements
Dans le cas où l'on a créé des enseignements dans deux classes alors qu'il s'agit d'un même enseignement regroupant les deux classes, il est possible de fusionner les deux enseignements :
- Aller dans
Gestion des bases
/Gestion des classes
; - Choisir un enseignement dans le tableau puis cliquer sur
Enseignements
; - Cliquer sur le nom de l'enseignement, puis cliquer sur le lien
Fusionner le groupe avec un ou des groupes existants
.
Rôles des utilisateurs
Administrateur
Seul l'utilisateur admin
a un accès à l'application, il est administrateur de celle-ci.
Il a un accès complet à l'application et à sa configuration. Il peut déléguer ce rôle en donnant les droits administrateur à un utilisateur.
Ce rôle permet notamment de :
- gérer les comptes utilisateurs ;
- gérer les groupes classes et autres ;
- sauvegarder les données ;
- bloquer l'accès à l'application ;
- observer l'historique des connexions.
Les autres utilisateurs ont accès à l'application uniquement si leur compte créé lors de l'initialisation annuelle.
Les rôles sont assignés comme suit :
Professeur principal
Les enseignants responsables de classes ont un accès en tant que professeur principal.
Professeur
Les enseignants qui ne sont pas professeur principal ont un accès professeur leur permettant :
- d'accéder au cahier de texte ;
- d'accéder à l'outil de gestion des notes ;
- de saisir les bulletins ;
- de préparer les conseils de classe (impression des bulletins, tableaux, graphiques ...).
Scolarité
Les personnels administratifs ont un accès scolarité, ces comptes doivent être édités manuellement afin de leur attribuer des rôles plus précis.
L'accès scolarité permet :
- une vérification détaillée de la saisie des notes et la saisie des appréciations sur les bulletins ;
- de visualiser et d'imprimer des relevés de notes ;
- de visualiser et d'imprimer des bulletins.
Élève
Les élèves ont un accès élève leur permettant de :
- consulter le cahier de texte;
- consulter leurs notes et leurs bulletins.
Responsable légaux
Les responsables légaux ont un accès responsable légal leur permettant de consulter les informations (notes, absences ...) concernant les élèves dont ils sont responsables.
Complément
Plus d'informations sur les fonctionnalités disponibles directement ici :
Remarques
Attention
Tant qu'un élève n'a pas de note dans un groupe, il est facile de le désinscrire.
Si un professeur s'aperçoit qu'un élève ne devrait pas être dans un groupe, il est important qu'il n'ajoute aucune donnée à cet élève.
Mécanisme de synchronisation des élèves / parents / profs disponible
Cela se situe dans posh-profil > Synchronisation > Gepi
Attention contrairement aux autres mécanismes de synchronisation, celui de Gepi ne se lance pas toute les nuits en automatique
Il est nécessaire de l'exécuter en allant dans l'écran de posh-profil et cliquer sur le bouton Synchroniser
GRR : gestion de réservation de salles et de matériels
Présentation
GRR (Gestion et Réservation de Ressources) est un outil de gestion de réservation de salles et de matériels.
Installation
GRR s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-grr
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application, se rendre à l'adresse : http://<adresse_serveur>/grr/
L'authentification peut être réalisée par le biais du serveur SSO ou être gérée par l'application.
Rôle des utilisateurs (SSO activé)
Il est possible dans le menu "Configuration SSO" de sélectionner le rôle à donner aux différents profils existants lors de leur première connexion.
Par défaut les rôles sont restreints, l'administrateur doit donc définir finement les rôles avant même le lancement de l'application.
Administrateur
Seul l'utilisateur
admin
est "administrateur" de l'application.Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur ayant initialisé son compte.
Gestionnaire
Le gestionnaire à les droits pour gérer telle ou telle ressource.
Gestionnaire utilisateur
Le gestionnaire d'utilisateur peut ajouter, éditer, supprimer des utilisateurs ayant pour statut "usager" ou "visiteur",
L'administrateur peut déléguer le droit de gérer les utilisateurs.
Usager
Les professeurs ont par défaut un accès "usager" à l'application.
L'usager peut créer, modifier ou effacer ses propres réservations.
Visiteur
Les administratifs, les élèves, les responsables et les invités ont par défaut un accès "visiteur" à l'application.
Un « visiteur » peut voir les réservations mais ne peut pas agir dessus.
Remarques
Si l'authentification est gérée par l'application et non pas le serveur SSO, il faut utiliser le compte "administrateur" avec pour mot de passe
azerty
(par mesure de sécurité le mot de passe doit absolument être changé).
Lors d'un changement de version, il se peut qu'une mise à jour de la base de données soit nécessaire. Dans ce cas, une page d'avertissement s'affiche avec un lien "Mettre à jour la base MySQL" permettant à l'administrateur d'effectuer cette action.
Les comptes sont créés dans GRR lors de la première connexion des utilisateurs (initialisation du compte).
Kanboard : gestion de projets et de tâches, basé sur la méthode Kanban
Présentation
KanBoard est un outil de gestion de projets et de tâches, basé sur la méthode Kanban.
Cette approche consiste à organiser et visualiser globalement des processus et activités, au sein d'un tableau de bord.
Installation de Kanboard
Kanboard s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-kanboard
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
LimeSurvey : sondage et enquête statistique
Présentation
LimeSurvey est un logiciel d'enquête statistique, de sondage, et autres types de formulaires en ligne. Il permet aux utilisateurs, enquêteurs et statisticiens, de publier des questionnaires pour en collecter les réponses.
Installation de LimeSurvey
LimeSurvey s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-limesurvey
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/limesurvey/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.
Remarques
Pour administrer l'application il faut se rendre à l'adresse : http://<adresse_serveur>/limesurvey/index.php/admin/
Mahara : portfolio électronique
Présentation
Mahara est le trait d'union entre espace personnel et profil dans un réseau social, blogs, homepage, site professionnel, espace collaboratif virtuel...
Mahara est un système de gestion d'ePortfolios, mais aussi d'un système de réseau social, combinés.
Un système de gestion d'ePortfolios est un système qui permet aux étudiants de collecter et ordonnancer leurs preuves « d'apprentissage tout au long de la vie » — comme des essais littéraires, des travaux artistiques ou tous autres documents qu'ils produisent dans le monde numérique. Ces documents sont appelés artefacts ou productions dans Mahara.
En ce qui concerne les réseaux sociaux, ils sont déjà rentrés dans les mœurs et ne nécessitent pas beaucoup d'explication. En résumé, ils permettent à des personnes d'interagir avec des amis et de créer ses propres communautés dans un monde virtuel, en ligne.
Mahara est bien plus qu'un simple dépôt où stocker des documents, il comprend aussi des outils de blog, un système de création de curriculum vitae, ainsi qu'un système de collaboration avec Moodle.
Installation de Mahara
Mahara s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-mahara
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/mahara/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Tous les utilisateurs présents dans l'annuaire ont un accès à l'application.
mindmaps : conception de cartes cognitives
Présentation
mindmaps est un logiciel servant à dresser des cartes heuristiques. Une carte heuristique (carte cognitive, carte mentale), est un schéma, supposé refléter le fonctionnement de la pensée, qui permet de représenter visuellement et de suivre le cheminement associatif de la pensée.
Cela permet de mettre en lumière les liens qui existent entre un concept ou une idée, et les informations qui leur sont associées.
La structure même d'une carte heuristique est en fait un diagramme qui représente l'organisation des liens sémantiques entre différentes idées ou des liens hiérarchiques entre différents concepts.
Installation de mindmaps
mindmaps s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-mindmaps
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/mindmaps /
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.
Moodle : plate-forme d'apprentissage en ligne
Présentation

Moodle est une plate-forme d'apprentissage en ligne (e-learning en anglais) servant à créer des communautés d'apprenants autour de contenus et d'activités pédagogiques
À un système de gestion de contenu, Moodle ajoute des fonctions pédagogiques ou communicatives pour créer un environnement d'apprentissage en ligne.
C'est une application permettant de créer, par l'intermédiaire du réseau, des interactions entre des pédagogues, des apprenants et des ressources pédagogiques.
Installation
Moodle s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-moodle-update
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Attention
Il existe un paquet moodle qu'il ne faut pas confondre avec le paquet eole-moodle.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/moodle/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Tout utilisateur présent dans l'annuaire possède un accès à l'application.
Administrateur
Seul l'utilisateur admin
est "administrateur" de l'application.
Il a un accès complet à l'application et à sa configuration.
Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur ayant initialisé son compte :
Utilisateurs
/ Attribution des rôles système
/ choisir un rôle
-> ajouter un utilisateur pour le rôle choisi.
Par défaut les rôles sont très restreints, l'administrateur doit donc définir finement les rôles avant même le lancement de l'application :
Utilisateurs
/ Permissions
/ Définition des rôles
-> choisir le rôle à modifier
Créateur de cours
Les enseignants sont "créateur de cours", ils peuvent créer des cours et y convier des élèves (ainsi que d'autres utilisateurs), il peut être intéressant de leur mettre un rôle enseignant (voir plus bas).
Utilisateur authentifié
Les élèves, les administratifs et les invités sont par défaut "utilisateur authentifié", par défaut ils peuvent voir les cours disponibles et s'y inscrire.
Remarques
Seul l'enseignant a le choix de son adresse de messagerie lors de sa première connexion.
Il existe des problèmes d'encodage pour certaines pages de l'application essentiellement dans la partie administration.
AttentionAttention !
Les données ajoutées à Moodle sont stockées dans
/var/www/moodledata/
donc attention à l'espace dont vous disposez sur la partition.
Les règles d'authentification sont directement modifiables dans Moodle par l'administrateur.
L'authentification :
Utilisateurs
/Authentification
Une modification pourrait rendre inutilisable l'authentification par le biais du serveur SSO.
Premiers pas
Pour synchroniser les comptes de l'annuaire ldap de Scribe directement dans moodle.
L'opération nécessite le lancement de la commande suivante :
/usr/bin/php -c /etc/php5/cli/php.ini /var/www/html/moodle/auth/cas/cas_ldap_sync_users.php
Exemple
Nous allons décrire comment créer la classe de seconde 1 ainsi que le cours de mathématiques de cette classe.
Dans l'interface d'administration de l'application, aller dans
Cours
/Gestion des cours
;Créer un cours "seconde_1" au format
Informel
(ce cours correspondra à votre classe) ;Créer un cours "seconde_1_math" mettre
S'agit-il d'un méta-cours ?
àOui
(ce cours correspondra au cours de mathématiques) ;Choisir les options, valider, une page
Cours descendants
apparaît ;Mettre le cours seconde_1 comme cours descendants, valider.
La classe et le cours sont alors créés.
Inscription des utilisateurs
Exemple
Inscrivons à présent les élèves dans leur classe.
Depuis la liste des cours disponibles, aller dans le
cours seconde_1
;Dans
Attribution des rôles
, cliquer surEtudiant
;Ajouter les élèves de la classe ;
Cliquer sur
Attribuer les rôles dans Cours : seconde_1
.
Inscrivons l'enseignant de mathématique à son cours :
Depuis la liste des cours disponibles, aller dans le cours
seconde_1_math
;Dans
Attribution des rôles
, cliquer surEnseignant
;Ajouter l'enseignant ;
Cliquer sur
Attribuer les rôles dans Cours : seconde_1_math
.
Améliorer les accès
Un créateur de cours voit l'ensemble des cours ce qui rend la vue complexe.
Les enseignants sont créés par défaut avec ce rôle.
A l'usage, il peut être plus judicieux d'attribuer le rôle Enseignant.
Pour ce faire, dans l'interface d'administration :
Aller dans
Utilisateurs
/Permissions
/Attribution des rôles système
et cliquer surEnseignant
;Choisir les comptes
Créateur de cours
et cliquer surAttribuer les rôles Système
.
L'affichage par défaut d'un cours peut paraître surchargé, il est possible de supprimer des blocs d'affichage.
Pour ce faire, dans l'interface d'administration :
Aller dans
Plugins
/Blocs
/Gestion des blocs
;Désactiver les blocs inutiles.
Nineboard : gestion de projet
Présentation
Installation de Nineboard
Nineboard s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-nineboard
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Ninegate : portail
Présentation
Installation de Ninegate
Ninegate s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-ninegate
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ninegate/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Nineschool : alternative à Balado
Présentation
Installation de Nineschool
Nineschool s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-nineschool
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Ninesurvey : alternative à OpenSondage
Présentation
Installation de Ninesurvey
Ninegate s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-ninesurvey
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
OpenSondage : planification de rendez-vous et mini-sondage
Présentation
OpenSondage sert à faire des sondages pour déterminer à plusieurs une date de réunion qui convienne au plus grand nombre.
Vous pouvez également utiliser cette application pour proposer des choix multiples et ainsi se mettre d'accord sur un lieu de rendez-vous, un thème de réunion ou la marque de votre prochaine machine à café (à base de capsules libres bien entendu).
Installation de OpenSondage
OpenSondage s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-opensondage
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/opensondage/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.
phpLDAPadmin : gestionnaire d'annuaire LDAP
Présentation
phpLDAPadmin est une interface écrite en php qui permet de modifier facilement et via une interface conviviale un annuaire LDAP[79].
http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page
Installation de phpLDAPadmin
phpLDAPadmin s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-phpldapadmin
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Piwigo : gestionnaire de galerie photo
Présentation

Piwigo est une application de gestion de galerie photo en ligne.
Installation de Piwigo
Piwigo s'installe manuellement, en saisissant les commandes suivantes :
# Query-Auto
# apt-eole install eole-piwigo
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application, se rendre à l'adresse : http://<adresse_serveur>/piwigo/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Par défaut les rôles des utilisateurs sont assignés comme suit :
Administrateur
Seul l'utilisateur
admin
est "webmaster" de l'application.Il a un accès complet à l'application et à sa configuration.
Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur.
Enseignant
Les enseignants peuvent téléverser des nouvelles images dans les galeries de leurs classes d'appartenance.
Élèves
Ils peuvent consulter la galerie de leur classe d'appartenance.
Autres
Par défaut, les autres utilisateurs peuvent se connecter à l'application mais n'ont pas accès à la consultation des galeries.
Remarques
Les comptes sont créés dans Piwigo lors de la première connexion à l'application (initialisation du compte).
L'application est configurée pour que chaque classe ait sa propre galerie photo.
Les galeries portant le nom d'une classe ne se créent qu'à l'initialisation d'un compte enseignant ou élève de cette classe.
Piwik : outil statistique
Présentation

Piwik est une application web de statistiques collectant des données dans une base MySQL dédiée.
Son interface très esthétique et totalement personnalisable via des modules que l'on choisit d'afficher ou non.
Piwik est configuré pour dresser des statistiques sur l'utilisation du portail Envole.
Installation
Piwik s'installe manuellement, en saisissant les commandes suivantes :
# Query-Auto
# apt-eole install eole-piwik
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/piwik/
Nul besoin d'être authentifié pour accéder à l'application.
Rôles des utilisateurs
Administateur
L'utilisateur
admin
peut suivre la procédure de récupération de mot de passe depuis Piwik en indiquant son adresse de courrier électronique.Il pourra notamment ajouter des applications à surveiller qui ne sont pas accessibles depuis Envole.
Il peut aussi obtenir le code pour créer des widgets à ajouter dans Envole.
Anonymous
Tous les utilisateurs ont ce rôle.
Ils ont un rôle uniquement consultatif.
Remarques
Seul les clics sur l'onglet Mon bureau
sont référencés dans les statistiques.
SACoche : évaluation et suivi d'acquisitions de compétences
Présentation
L'application SACoche permet :
d'évaluer les élèves par compétences ;
de conserver un historique de leur parcours ;
de déterminer un état d'acquisition de chaque compétence :
de collecter les compétences pour assister la validation du socle commun.
Installation de SACoche
SACoche s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-sacoche
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/sacoche/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
Rôles des utilisateurs
Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.
Remarques
Les utilisateurs sont auto-générés lors de leur première connexion.
Par contre il n'existe pas encore de synchronisation des classes, des matières et des niveaux.
Scrumblr : gestion de projet collaboratif en ligne
Présentation
Scrumblr est un service en ligne libre et minimaliste qui permet d'éditer et d'organiser collaborativement des idées sous forme de notes.
Installation de Scrumblr
Scrumblr s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-scrumblr
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
WordPress : système de gestion de contenu
Présentation

WordPress est un système de gestion de contenu (CMS).
Il permet de créer et gérer du contenu sous forme d'un site web ou plus simplement d'un blog.
Installation
WordPress s'installe manuellement, saisir les commandes suivantes :
# Query-Auto
# apt-eole install eole-wordpress
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/wordpress/
L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.
L'accès à l'interface d'administration de l'application se fait par l'URL http://<adresse_serveur>/wordpress/wp-admin
Rôles des utilisateurs
Un utilisateur de WordPress peut avoir l'un des rôle suivant :
administrateur
Seul l'utilisateur
admin
est "administrateur" de l'application.Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur ayant initialisé son compte.
éditeur
L'éditeur peut gérer les catégories, les liens et les commentaires.
auteur
L'auteur peut écrire des articles et les publier. Il peut également publier les articles proposés par les contributeurs.
contributeur
Le contributeur peut écrire des articles.
abonné
L'abonné peut lire les articles.
Par défaut, les utilisateurs ont le rôle d'abonné.
L'administrateur peut modifier ce comportement et modifier le rôle de chaque utilisateur.
Contrôle de l'accès aux articles
L'extension WP Sentry
permet à l'administrateur de gérer les droits d'accès aux articles en fonction des profils du module Scribe.
Attention
La gestion des droits d'accès est totalement indépendante de celle des profils.
L'extension Private WP est pré-installée. Elle permet, après activation, de rendre WordPress complétement inaccessible par les visiteurs non authentifiés.
Multisite
Pour gérer plusieurs blogs sur la même instance de WordPress il faut se rendre dans la page dédiée nommée Sites
en tant qu'utilisateur admin
.
Pour cela il faut suivre le menu Mes sites
→ Admin du réseau
→ Sites
.
Sous l'entrée Admin du réseau
du menu se trouve le nom de l'instance principale de WordPress. Il porte le nom de l'établissement saisi dans l'interface de configuration du module.
La page Sites
permet d'ajouter, de modifier et de supprimer un blog.
Pour ajouter un blog il suffit de cliquer sur le bouton Ajouter
et de saisir les paramètres demandés : le chemin, le titre et l'adresse de contact de l'administrateur de ce nouveau blog. Le chemin sera ajouté au domaine affiché.
Exemple de valeurs :
Le chemin : nouveausite
Titre du site : Nouveau Site
Le nouveau blog sera accessible à l'adresse https://<adresse_serveur>/wordpress/nouveausite
La personnalisation du blog s'effectue dans la liste des sites en cliquant sur le lien modifier.
Il est possible de choisir un thème et une langue spécifique pour le blog.
Il faut pour chaque nouvelle instance passer le site en français
La synchroniser des utilisateurs se fait via la gestion des profils sinon il faut ajouter manuellement les utilisateurs au blog.
Remarques
- Si l'utilisateur est déjà authentifié auprès du serveur SSO son authentification auprès de WordPress est automatique sinon il accède à la partie publique de l'application ;
- Les comptes sont créés dans WordPress lors de la première connexion des utilisateurs (initialisation) ;
xDesktop : bureau des applications
Présentation
xDesktop est un bureau d'accès rapide aux applications.
Il permet une navigation plein écran, une catégorisation des applications et une gestion de l'affichage de mémos par profils.
Installation de xDesktop
xDesktop s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-xdesktop
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Applications pré-packagées spécifiques
Il existe d'autres applications web spécifiques qui sont plus liées à un module de part leurs fonctionnalités.
Il y a différentes méthodes de mise en œuvre et les rôles des utilisateurs sont très différents d'une application à l'autre.
Reportez-vous à la documentation de chacune d'elles pour plus d'informations.
Truc & astuceReconfiguration du module
De nombreuses applications nécessitent d'être activées depuis l'interface de configuration du module et une reconfiguration du serveur est indispensable.
Cette procédure est relativement longue, il est donc possible d'activer plusieurs applications et de ne lancer qu'une fois la commande reconfigure
.
AttentionOCS Inventory
L'application OCS Inventory n'a pas été portée en version 2.8.
GLPI
Présentation

GLPI est une application web permettant la gestion de parc informatique et de gestion des services d'assistance :
gestion et suivi des ressources informatiques ;
gestion et suivi des licences ;
gestion et suivi des consommables ;
base de connaissances ;
gestion des réservations ;
serviceDesk (helpdesk, SLA..) ;
inventaire automatisé (avec l’utilisation conjointe de la solution d’inventaire) ;
télé-déploiement (avec l'utilisation conjointe de la solution d'inventaire).
Installation
Il est possible d'effectuer l'installation sur un module EoleBase.
GLPI s'installe manuellement en saisissant les commandes suivantes :
# Query-Auto
# apt-eole install eole-glpi
L'application n'est pas disponible immédiatement après l'installation.
L'activation de GLPI se fait dans l'interface de configuration du module, dans l'onglet Applications web
en passant la variable Activer GLPI
à oui
.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Configuration
L'activation de GLPI se fait dans l'interface de configuration du module, dans l'onglet Applications web
en passant la variable Activer GLPI
à oui
.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Accéder à l'application
Pour accéder à l'application, se rendre à l'adresse : http://<adresse_serveur>/glpi/
Attention
À la première connexion l'authentification ne se fait pas par le biais du serveur SSO.
Rôles des utilisateurs
Les profils par défaut sont ceux de l'application GLPI :
Super-Admin : accès à toute la console centrale de GLPI et au paramétrage de l'application ;
Admin : accès à toute la console centrale de GLPI et à la modification tous les éléments excepté la configuration ;
Normal : accès à toute la console centrale de GLPI uniquement en lecture seule ;
Post-only : accès à la partie d'assistance de GLPI (Nouveau ticket / Suivi des tickets / Réservation et FAQ publique).
Les comptes utilisateurs par défaut sont ceux fournis par GLPI et ont pour mot de passe le nom du compte (exemple : glpi
/ glpi
) :
l'utilisateur
glpi
est de typeSuper-Admin
et a les mêmes droits qu'un utilisateur admin, mais peut en plus configurer l'application, réaliser les sauvegardes de la base de de données, la restaurer, etc. Cet utilisateur sera plus orienté responsable de l'application et aura tous les droits sur l'application ;
l'utilisateur
normal
est de typeSelf-Service
et a accès aux données du parc en lecture seulement, pas de modification, ni d'ajout, ni de suppression. Ce type de compte sert plus pour une personne qui a besoin de consulter des statistiques ou des rapports ;
l'utilisateur
tech
est de type administrateur.
Il convient de changer les comptes et les mots de passe immédiatement après l'installation.
Il est possible d'ajouter des utilisateurs afin qu'ils puissent se connecter sur l'interface de GLPI.
Pour ajouter des utilisateurs il faut utiliser le formulaire d'ajout d'utilisateur : menu Administration
→ Utilisateurs
→ Ajouter utilisateur…
.
Attention
N'oubliez pas, pour des raisons évidentes de sécurité, de changer le mot de passe du compte glpi
. Il peut même être préférable de le renommer ou d'en créer un autre.
Remarques
Il est possible de paramétrer manuellement GLPI pour que l'authentification se fasse par CAS. La configuration se fait dans Accueil
→ Configuration
→ Authentification
→ Autres méthodes d'authentification
.
Prise en charge d'applications supplémentaires
Les modules Scribe, Horus, Seshat et AmonEcole fournissent tous les éléments nécessaires à l'installation d'applications web indépendamment de celles pré-configurées.
Les exemples sont basés sur l'installation du logiciel EGroupware mais sont facilement transposables pour l'installation de n'importe quelle application PHP/MySQL.
EGroupware est un logiciel collaboratif professionnel. Il vous permet de gérer vos contacts, vos rendez-vous, vos tâches, et bien plus pour toute votre activité.
AttentionMode conteneur
L'installation d'applications sur les modules configurés en mode conteneur est plus complexe.
Certaines étapes de la mise en place diffèrent selon le mode, conteneur ou non conteneur.
Dans les exemples ci-dessous les modules Scribe et Horus sont en mode non conteneur et AmonEcole en mode conteneur.
Téléchargement et mise en place
Installation des fichiers
Pour télécharger une archive sur le module, il faut utiliser la commande wget
:
# wget downloads.sourceforge.net/project/egroupware/eGroupware-14.2/eGroupware-14.2.20150310/egroupware-epl-14.2.20150310.tar.bz2
Il faut ensuite décompresser l'archive à l'aide de la commande tar
(ou unzip
, pour le format zip) :
# tar xzvf egroupware-epl-14.2.20150310.tar.bz2
Dans cet exemple, cela créera le répertoire egroupware
Ensuite, il faut envoyer les fichiers dans le répertoire de destination, soit :
sur les modules Scribe ou Horus :
# cp -r egroupware /var/www/html/egroupware
sur un module Horus dépourvu d'application web :
# mkdir /var/www/html
# cp -r egroupware /var/www/html/egroupware
sur le module AmonEcole :
# cp -r egroupware /opt/lxc/reseau/rootfs/var/www/html/egroupware
Affectation de droits
La plupart des applications nécessitent que l'utilisateur utilisé par le service Apache (ici, l'utilisateur système :
www-data
) ait le droit d'écrire en certains endroits du disque.
Le propriétaire d'un fichier ou d'un répertoire se modifie à l'aide de la commande chown
:
sur les modules Scribe/Horus :
# chown -R www-data: /var/www/html/egroupware
# chmod 770 /var/www/html/egroupware (le temps de l'installation)
sur le module AmonEcole :
# ssh reseau
# chown -R www-data: /var/www/html/egroupware
# chmod 770 /var/www/html/egroupware (le temps de l'installation)
# ctrl + d
pour sortir du conteneur
Attention
Donner trop de droits à l'utilisateur
www-data
diminue la sécurité du serveur.
Consulter la documentation du logiciel pour n'attribuer que les droits nécessaires au fonctionnement de l'application.
Installation de paquets
Certaines applications nécessitent également des modules apache ou d'autres logiciels qui ne sont pas forcément présents sur le serveur.
Dans la majeure partie des cas, les éléments manquants sont disponibles en tant que paquet de la distribution.
ExempleInstallation du paquet php5-imap
sur les modules Scribe ou Horus :
# apt-eole install php5-imap
sur le module AmonEcole :
# apt-eole install-conteneur web php5-imap
Configuration Apache
Méthode Creole
Dans l'interface de configuration du module :
aller dans l'onglet
Apache
en mode expert ;
indiquer le chemin complet de l'application et l'alias de l'application
/var/www/html/egroupware
;indiquer le chemin de l'alias de l'application
/egw
;
enregistrer la configuration et quitter ;
lancer la commande
reconfigure
;le logiciel doit répondre à l'adresse :
http://<adresse_serveur>/egw
Truc & astuce
Le fichier de configuration apache pour cette application est /etc/apache2/sites-available/eole
Attention
La directive php_admin_flag allow_url_fopen On
est nécessaire au bon fonctionnement d'EGroupware.
Méthode manuelle
créer le fichier de configuration apache nommé
egroupware
- sur les modules Scribe ou Horus :
/etc/apache2/sites-available/egroupware.conf
- sur le module AmonEcole :
/opt/lxc/reseau/rootfs/etc/apache2/sites-available/egroupware.conf
- sur les modules Scribe ou Horus :
# Exemple basique de configuration de site #
Alias /egw /var/www/html/egroupware
<Directory "/var/www/html/egroupware">
php_admin_flag allow_url_fopen On
AllowOverride None
DirectoryIndex index.php
Order Allow,Deny
Allow from All
</Directory>
activer l'application à l'aide de la commande :
# CreoleRun "a2ensite egroupware" web
recharger la configuration d'Apache à l'aide de la commande CreoleService[124] :
# CreoleService apache2 reload
le logiciel doit répondre à l'adresse :
http://<adresse_serveur>/egw
Remarque
Pour obtenir une configuration apache optimale, consulter la documentation de l'application.
En cas de problème, consulter le fichier de journal /var/log/rsyslog/local/apache2/apache2.err.log
Dans le cas d'EGroupware, il est nécessaire de supprimer le fichier
.htaccess
situé dans le répertoire racine du logiciel :
# rm -f /var/www/html/egroupware/.htaccess
La directive php_admin_flag allow_url_fopen On
est également nécessaire au bon fonctionnement d'EGroupware.
Configuration MySQL
Méthode EOLE
Utiliser le script mysql_add.py
:
Nom de la base de données à créer : egroupware
Nom de l'utilisateur MySQL administrant la base : egroupware
Mot de passe de l'utilisateur Mysql administrant la base : pwdsecret
## Création de la base egroupware ##
Remarque
Sur le module AmonEcole, il y a une question supplémentaire :
Nom du conteneur source : web
En répondant
web
cela permet que les requêtes vers MySQL soient autorisées depuis le conteneur dans lequel se trouvent les applications web.
Méthode semi-manuelle
- utiliser le script
mysql_pwd.py
; - réinitialiser le mot de passe
root
de MySQL à la valeur de votre choix ; - utiliser l'interface Adminer pour faire les manipulations nécessaires.
Conseil
Il est recommandé de créer un utilisateur et une base MySQL spécifiques par application.
Sur le module AmonEcole, il faudra veiller à ce que l'utilisateur MySQL utilisé ait le droit d'accéder à la base de données depuis l'adresse IP du conteneur web, en l'occurrence 192.0.2.51
.
Configuration du logiciel
Vous pouvez maintenant utiliser le système automatique d'installation du logiciel disponible à l'adresse : http://<adresse_serveur>/egw
Un
/install
ou /config
sera à ajouter au chemin en fonction de l'application à installer.
Attention
Sur le module AmonEcole, l'adresse de la base de données à mettre dans l'interface de configuration de l'application est celle du conteneur bdd
(192.0.2.50
) et non localhost
.
Affectation de droits après l'utilisation du système automatique d'installation du logiciel
Changer les droits d'accès :
# chmod 750 /var/www/html/egroupware
Changer le propriétaire des fichiers :
# chown -R root :www-data /var/www/html/egroupware
Authentification CAS
Informations utiles à la configuration d'une authentification CAS :
- adresse du serveur CAS : adresse IP (ou nom DNS) de votre module EOLE
- port d'écoute par défaut du serveur CAS : 8443 (CAS EOLE)
- URI sur le serveur CAS : rien
- Destination après la sortie : rien
Truc & astuce
Par défaut EoleSSO, fournit uniquement l'identifiant de l'utilisateur.
Pour chaque application, il est possible d'ajouter des filtres définissant des attributs supplémentaires à fournir.
Pour plus d'informations, consulter la documentation EoleSSO.
Authentification LDAP
Informations utiles à la configuration d'une authentification LDAP :
adresse du service LDAP :
- sur le module Scribe/Horus : adresse IP (ou nom DNS) de votre module EOLE
- sur le module AmonEcole : adresse IP du conteneur bdd :
192.0.2.50
port d'écoute du serveur LDAP : 389 (port standard)
base DN : o=gouv,c=fr
Truc & astuce
La majeure partie des informations stockées dans l'annuaire est accessible par des requêtes anonymes.
Si l'application a besoin d'accéder à des attributs LDAP protégés par une ACL[25] et non fournis par EoleSSO, il est possible d'utiliser le compte spécial cn=reader,o=gouv,c=fr
dont le mot de passe est stocké dans le fichier /root/.reader
Externalisation des bases de données MySQL avec EoleDB
EoleDB est disponible depuis la version 2.5.2 d'EOLE. C'est une re-implémentation de l'ancien gestionnaire des bases de données EOLE (eole-sql
) dont les objectifs principaux sont :
n'utiliser qu'un seul fichier de configuration ;
supporter nativement plusieurs types de bases de données (MySQL, PostgreSQL, SQLite, ...) ;
supporter nativement l'externalisation des bases de données sur d'autres serveurs ;
ne plus avoir à fournir des scripts python dans les paquets d'application web du projet EOLE pour pouvoir générer ou mettre à jour des bases de données (cf eole-sql :
/usr/share/eole/applications/gen/
,/usr/share/eole/applications/passwords/
,/usr/share/eole/applications/updates/
).
EoleDB rend possible l'externalisation des bases de données d'un module EOLE.
Remarque
Pour le moment, EoleDB gère uniquement les bases de données MySQL[80] et PostgreSQL[91].
Installation d'EoleDB
EoleDB est pré-installé sur les modules où des applications web le requièrent.
Sur les autres modules l'installation d'EoleDB se fait manuellement sur le serveur qui héberge l'application web avec la commande apt-eole :
# apt-eole install eole-db
Configuration
Par défaut le serveur de base de données est paramétré comme étant local. Dans le cas où le serveur est distant quelques variables sont à renseigner.
Adresse du serveur de base de données
: adresse IP, nom de machine ou nom de domaine du serveur de base de données distant. Cette valeur est utilisée pour toutes les applications web qui ne définiront pas elles-mêmes un serveur de base de données.Port du serveur de base de données
: port du serveur de base de données utilisé, par exemple3306
pour le serveur MySQL fourni par EOLE.Nom d'utilisateur d'administration
: identifiant du gestionnaire de la base de données distante.Fichier de mot de passe
: chemin d'accès vers le fichier qui contient le mot de passe du gestionnaire, par exemple/root/bdpass.txt
. Ce fichier doit être accessible par EoleDB, idéalement le fichier doit avoir les droits 600.Machines qui peuvent utiliser le serveur de BDD
: permet d'autoriser des machines à accéder à l'administration des bases distantes #fixme, si rien n'est renseigné l'adresse IP du serveur utilisant EoleDB est ajoutée automatiquement dans le fichier de configuration.
Exemple
dbhost: 192.168.0.24
dbport: 3306
dbroot: root
client_hosts: ['192.168.0.26']
dbrootpwd: /root/bdpass.txt
Les application web disponible sur EOLE fournissent un fichier de configuration au format YAML[125] qui surcharge le fichier de configuration principal d'EoleDB.
Ces fichiers de configuration spécifiques aux applications redéfinissent le comportement par défaut d'EoleDB, ils sont stockés dans /etc/eole/eole-db.d/
.
Pour des raisons pratiques, EoleDB réalise également le changement de mots de passe dans les fichiers de configuration des applications, les mots de passes sont changées à chaque lancement de la commande eole_db_gen
.
Dans le cas de EOLE cette commande est lancée au minimum à chaque reconfigure.
Pour utiliser EoleDB il faut donc mettre en place les fichiers de configuration et utiliser la commande eole_db_gen
.
Sans paramètre, la commande eole_db_gen
utilise les paramètres par défaut.
Pour utiliser une autre configuration des options sont disponibles :
-h
,--help
: Affiche le message d'aide à l'utilisation de la commande ;-c
,--config
: Définir un fichier de configuration a utiliser à la place de/etc/eole/eole-db.conf
;-d
,--dbdir
: Définir un répertoire qui contiens les fichiers de configuration des applications qui n'est pas/etc/eole/eole-db.d/
;-b
,--backup-dir
: Définir un répertoire pour copier les sauvegardes des fichiers modifiés par EoleDB.
Truc & astuce
Pour obtenir de l'aide, utiliser la manuel de la commande :
# man eole_db_gen
Pour connaître les différents paramètres de la commande eole_db_gen :
# eole_db_gen --help
Changement de mot de passe par l'utilisateur
Le changement de mot de passe peut s'effectuer à différents endroits suivant le profil de l'utilisateur :
dans l'EAD : un enseignant peut changer son mot de passe dans la rubrique
Préférences
;
depuis un poste Windows : tout utilisateur ayant un compte sur le module Scribe et ayant accès à une station de travail peut changer son mot de passe à l'invite de connexion en effectuant la combinaison de touches
ctrl
+alt
+suppr
;
l'application web EOE : un élève peut changer son mot de passe par l'intermédiaire de l'outil EOE ;
l'application web EOP : un enseignant peut changer son mot de passe par l'intermédiaire de l'outil EOP dans la rubrique
Préférences
;
Quelque soit la méthode utilisée le changement de mot de passe suit la politique (longueur et classe de caractère composant un mot de passe) mise en place dans l'interface de configuration du module.
ERA, éditeur de règles pour le module Amon
Introduction
Présentation
Présentation et fonctionnalités
L'outil EOLE de génération de règles de pare-feu[126] pour les modules Amon et AmonEcole se nomme ERA[127].
Il permet de gérer la description de la politique de sécurité d'un pare-feu[126]. Cette politique est sauvegardée intégralement dans un fichier de type XML avec un format spécifique à l'application.
Par un processus de compilation, ERA transforme le fichier XML en un bloc de règles iptables[128], de manière à instancier ces règles sur un pare-feu[126] cible.
ERA et sa documentation sont sous licence libre.
AttentionInterface ERA
À partir d'EOLE 2.9, l'interface ERA s'exécute dans un conteneur[17] logiciel Podman[101].
L'image era
est téléchargée depuis le site hub.eole.education.
Le serveur doit donc pouvoir accéder à ce domaine au même titre qu'aux serveurs de mise à jour des modules.
Un logiciel en deux parties
- L'interface de conception permet d'organiser la politique de filtrage et l'enregistre dans un fichier XML ;
- le compilateur génère le script iptables, par compilation, à partir du fichier XML de description du pare-feu.
Remarque
Seul le format XML est utilisé par le module Amon. L'exportation au format iptables[128] permet d'être utilisable sur un autre pare-feu disposant de Netfilter.
Il n'est bien sûr pas nécessaire de connaître la syntaxe iptables pour manipuler ERA. Le but d'un tel logiciel est justement de s'abstraire de la syntaxe iptables, afin de pouvoir concevoir un pare-feu sans pour autant être un expert. Pour cela, l'interface graphique de ERA est un outil intéressant :
Truc & astucele fichier lance.firewall
Sur le pare-feu Amon, le fichier lance.firewall
présent dans /sbin/
est un fichier de règles iptables qui a été généré par ERA.
Remarquons que si le serveur sur lequel est lancé le compilateur de règles est en mode conteneurs, ERA va générer autant de fichiers de règles iptables que de conteneurs.
Les fichiers XML de modèles
Un modèle[129] est un fichier de description du pare-feu. Le format d'enregistrement est un format XML[130].
Divers modèles caractéristiques de description de pare-feu sont disponibles dans le répertoire /usr/share/era/modeles
et sont des exemples de types de pare-feu (deux, trois, quatre ou cinq cartes réseau).
Création d'un modèle personnalisé
Attention
Lorsque vous modifiez un modèle exemple, il faut impérativement l'enregistrer sous un autre nom, sinon les modifications seront perdues à la prochaine mise à jour du paquet era
.
Le nouveau fichier XML doit être enregistré dans le répertoire /usr/share/era/modeles/
.
Enfin, pour que le serveur utilise ce modèle, il faut modifier la variable type_amon
(Modèle de filtrage
dans l'onglet Firewall
de l'interface de configuration du module).
Truc & astuceCharger un modèle à la ligne de commande.
Il est possible d'ouvrir directement un modèle à la ligne de commande. Pour cela, il suffit de spécifier l'option -f avec le nom du fichier.
Par exemple :
era -f /usr/share/era/modeles/3zones-amonecole.xml
Le format XML interne est facilement lisible avec un éditeur de texte (ou un éditeur XML) si l'on est familiarisé avec :
- la notation XML ;
- les différents concepts propres à ERA (tableau des flux, services, directives, ...).
Version des modèles ERA
Les modèles XML ERA sont versionnés.
Dans les modèles fournis, la version est indiquée dans l'attribut version de la balise <firewall>
.
<firewall name="Concatenated_Do_Not_Edit" netbios="1" qos="0" version="2.4">
Le numéro de version des modèles XML ERA est incrémenté lorsque des changements importants sont apportés à la DTD[131].
Les numéros de version sont généralement corrélés avec les versions des modules EOLE : 2.0, 2.3, 2.4, 2.42.
Remarque
Les commandes instance
, reconfigure
et le redémarrage du service bastion affichent un avertissement si le modèle de pare-feu utilisé possède une version inférieure à celle gérée par l'outil ERA du module.
Truc & astuce
Il est possible de mettre à niveau un modèle XML existant en l'éditant et en le sauvegardant à l'aide du logiciel ERA.
Utilisation de variables Creole
ERA[127] a été conçu dans le cadre du projet EOLE et pour le pare-feu Amon. Il peut très bien être utilisé en dehors de ce cadre, mais c'est sur un module Amon qu'il devient vraiment possible de déployer toutes les possibilités du logiciel.
Il est possible, à plusieurs endroits de l'interface, d'insérer des variables Creole[21] (elles commencent par %%
) plutôt que des valeurs fixes.
Le fichier XML de description de pare-feu devient alors un template[42] Creole.
Exemple
Dans la fenêtre d'édition d'une zone, entrer une valeur du type %%ip_variable
plutôt qu'une valeur IP fixe.

Variables multi-valuées
Creole propose un concept de variables multi-valuées qui peuvent également être utilisées dans ERA.
Si une variable %%variable
est multi-valuée (au sens de Creole, c'est-à-dire que la variable contient une liste de valeurs), et que cette variable est présente dans une règle iptables, alors la règle sera répétée autant de fois que de valeurs dans %%variable
puisque cette fonctionnalité génère du code avec une boucle for :
%for %%v in %%variable
/sbin/iptable bla bla %%v bla bla
%end for
Limitations de l'intégration entre ERA et Creole
Cette intégration des variables Creole dans ERA a des limites dans le cas des variables multivaluées. Une variable multivaluée au sens de Creole est une variable dont les valeurs sont multiples (c'est une liste d'ips, de networks, etc...).
Il est autorisé d'utiliser des variables multivaluées dans ERA, mais il y a une limitation : si dans une directive donnée plusieurs variables multivaluées sont utilisées (par exemple au niveau d'une extrémité source, d'une extrémité de destination ou d'un service, ou d'un port de redirection...), alors il faut que les autres variables multivaluées utilisées soient déclarées dans le dictionnaire Creole comme esclaves de la première variable multi-valuée, sinon le cas d'utilisation ne sera pas géré.
Le support des groupes de variables multivaluées est très partiel dans ERA, si dans une directive une variable multivaluée est utilisée alors elle doit être déclarée comme maître dans le dictionnaire Creole, et il ne faut pas qu'il y ait dans cette directive une deuxième variable multivaluée indépendante, donc les autres variables impliquées sont soit des variables multivaluées esclaves, soit simplement des variables Creole non-multivaluées.
Utilisation
Les zones de sécurité
Présentation
L'éditeur ERA est un outil de conception par zones[132]. Une zone[132] correspond physiquement à une carte réseau. Cela permet de découper le parc de machines en réseau ou sous-réseau.
Le pare-feu lui-même étant une zone à part, appelée par convention bastion
.
Les zones sont ensuite ordonnées par niveau de sécurité[133] sous forme d'entiers de 0 à 100.
100 est le niveau de sécurité maximal et correspond à la zone bastion
. Cela permet de "cartographier" tout le réseau.
Par convention, le niveau de sécurité le plus faible de toutes les zones est affecté à la zone "extérieur".
Les machines de la zone ont un accès complet aux zones de niveau inférieur et aucun accès à celles de niveau supérieur.

Une zone correspond à un réseau et dans cette zone, on retrouve des sous-réseaux et des machines, correspondant à la notion d'extrémité[134] utilisée dans ERA.
Une extrémité est un sous-ensemble d'une zone :
Elle est définie par un ensemble d'adresses IP ou une adresse réseau.
Elle hérite du niveau de sécurité de la zone à laquelle elle appartient.
Ajouter une zone
Il est possible à tout moment, même après la conception initiale du modèle, d'ajouter une zone de sécurité. L'ajout d'une zone de sécurité se fait en cliquant sur le bouton Ajouter Zone
de la barre d'icônes.

Les cases des noms des zones sont cliquables.
Un clic droit dans une case des noms de zones permet d'afficher les zones ainsi que les extrémités[134] qui y sont associées.

Truc & astuceles trigrammes (préfixes) de zones
Dans le choix des noms de zone :
les trois premières lettres (trigramme) du nom de la zone sont discriminantes, par exemple :
statistique
etstation
sont des noms de zone incompatibles (c'est la même zonesta
) ;le mot clef
bastion
est réservé (pour la zone du bastion lui-même) ;le mot clef
extérieur
est également réservé (pour la zone extérieure, internet).
Conseilla gestion des VLAN
Une zone peut aussi représenter un VLAN.
C'est une bonne pratique de créer une nouvelle zone pour gérer un VLAN.
Il n'est pas possible de créer une zone pour tous les VLAN.
S'il y en a plusieurs il faut les créer un à un manuellement.
Truc & astuceSyntaxe Creole pour la création des VLAN
Il est fréquent que les valeurs des IP des VLAN soient stockées dans une variable Creole, et que cette variable soit multiple (une variable multiple au sens Creole est une variable qui contient une liste de valeurs). Il faut alors manier correctement la syntaxe Creole pour créer une zone de VLAN.
Exemple Exemple de création d'un VLAN de l'interface 1
Dans la widget de création d'une zone, il faut mettre une IP et un netmask variable :
ip variable : %%id_vlan_eth1[0].adresse_ip_vlan_eth1
netmask variable :
%%id_vlan_eth1[0].adresse_netmask_vlan_eth1
Ajouter une extrémité
La liste des extrémités est disponible dans le menu bibliothèque
/ extrémités
.
Il est également possible de lister les extrémités d'une zone, en cliquant droit sur le bouton de la zone et en sélectionnant voir la liste des extrémités
.
Pour créer une nouvelle extrémité, faire un clic droit dans la zone dans laquelle vous voulez l'inclure. Ensuite, choisir définir un ensemble de machines
ou définir un sous-réseau
suivant que vous voulez inclure un groupe d'IP ou un sous-réseau.



Attention
Les alias IP doivent être gérés comme des extrémités et non comme une zone : un alias n'est pas une zone.
Pour ajouter une extrémité de type alias, il faut spécifier le type "alias" dans l'éditeur d'extrémité :

Il est fréquent que les valeurs des IP des alias soient stockées dans une variable Creole, et il est fréquent aussi que cette variable soit multiple (une variable multiple au sens Creole est une variable qui contient une liste de valeurs). Il faut alors manier correctement la syntaxe Creole pour créer une extrémité qui est un alias.
Dans la widget de création d'une extrémité, il faut alors mettre une IP et un netmask variable.
Dans la zone correspondant à la carte, créer une extrémité (clic droit sur la case de la zone).
Exemple
Un alias de l'interface 2 doit être créé de la façon suivante :
ip variable : %%alias_ip_eth2[0]
network variable : %%alias_network_eth2[0]
Il sera possible ensuite de créer une directive avec cette extrémité plutôt qu'avec l'extrémité correspondant à l'IP de la zone elle-même.
AttentionLes mauvaises fausses bonnes idées pour créer un alias
- créer une zone supplémentaire avec une carte eth0:X ;
- aller de suite dans les inclusions statiques ;
utiliser la variable eth0 de Creole comme IP multivaluée.
Les extrémités de type conteneur
Il est possible également de créer une extrémité dans la zone bastion. Dans la zone bastion il y a depuis la version 2.4 un nouveau type d'extrémité, le type conteneur. Ce type d'extrémité permet de créer des directives à destination des conteneurs (directives de type INPUT).

Une extrémité de type conteneur est à destination du conteneur. Elle nécessite deux informations : le nom de l'interface (typiquement : "br0", "eth1", ... ), et le nom du conteneur (typiquement : "bdd", "internet"...)
Les flux
Présentation
Dans ERA, les règles sont systématiquement classées d'après la zone d'origine et la zone de destination. ERA est donc conçu autour du concept de flux[135] plutôt que centré sur la notion de règle. Par voie de conséquence, chaque zone est reliée à une autre zone par des flux.
A l'intérieur d'un flux, on trouve deux flux orientés, le "flux montant[136]" et le "flux descendant[137]".
Les "flux montants[136]" concernent les zones[132] d'un niveau de sécurité plus faible vers un niveau de sécurité plus élevé, et réciproquement pour les "flux descendants[137]".
Pour pouvoir ordonner les flux en vue d'une cohérence globale, il convient ensuite de modéliser le "tableau des flux[138]".
Ce tableau correspond à l'ensemble des flux du modèle de sécurité à l'intérieur duquel seront rangées les règles (ou directives).

Lorsque les flux montants et les flux descendants sont définis, une politique par défaut est automatiquement spécifiée. Ici, la politique de sécurité par défaut qui résulte de la matrice de flux est :

Truc & astuceNiveaux de sécurité égaux
Lorsque deux zones ont deux niveaux de sécurité égaux, alors la politique par défaut est une interdiction des deux côtés (flux montants et descendants).
AttentionChangement de la politique par défaut
Il est possible d'inverser le comportement de la politique par défaut. On peut choisir d'interdire les flux d'une zone vers une autre par défaut.
L'interface de conception
La fenêtre principale représente un tableau composé de cases de zones et de cases de flux.

Les cases des flux sont colorés. Les cases de couleur verte sont en "autorisation" par défaut et les cases de couleur rouge sont en "interdiction" par défaut.
La couleur rouge indique que le flux orienté est interdit, tandis que la couleur verte montre que le flux orienté est autorisé.
Les directives
Présentation
Les services et les groupes de services
Exemple
Par exemple, le service "serveur web" est défini par le protocole HTTP sur le port 80.
Truc & astuce
Il y a déjà une bibliothèque de services prédéfinis dans ERA.
Pour lister ces services, aller dans le menu : Bibliothèque > services
.
Pour créer un service, aller dans le menu : Bibliothèque > services
.

Créer ou modifier un service signifie renseigner les noms, descriptions, protocoles et ports.

Remarquons que si on choisit un port égal à 0, cela équivaut à saisir de 0 à 65535.
Truc & astuce
Si on veut que le service ne concerne qu'un seul port, il faut mettre deux fois le même numéro de port.
Attention
Depuis EOLE 2.4, l'utilisation d'une variable Creole pour définir le type de protocole à utiliser n'est plus fonctionnelle.
Cette fonctionnalité n'est plus disponible dans l'interface à partir d'EOLE 2.6.
Truc & astuceimplémenter un service avec tcpwrapper
Pour prendre en compte le tcpwrapper avec ERA, ça se passe au niveau des services. Il suffit de renseigner le nom tcpwrapper du service (le nom tel qu'il doit apparaître dans le fichier hosts.allow) et le tcpwrapper sera pris en compte dès qu'une directive utilisant ce service sera créée.

Truc & astucele tcpwrapper en mode conteneur
Remarquons que ERA va générer un fichier tcpwrapper, classiquement le fichier /etc/hosts.allow, mais que en mode conteneur autant de fichiers seront générés que de conteneurs.
L'éditeur de directives
Un clic droit ou un double clic dans une case de flux du tableau permet de visualiser la liste des directives de façon synthétique.

Les directives sont triées par ordre croissant. C'est l'ordre dans lequel seront appliquées les règles sur le pare-feu cible.
Attention
Pour construire une directive, il faudra au moins deux extrémités (entre deux zones) et un service (ou groupe de services), qui doit être renseigné par glisser-déplacer.
Lors de la création de la directive, il est possible de mettre une liste d'extrémité de n'importe quel type (machine, sous-réseau...) comme source ou comme destination. Dans ce cas, la fonctionnalité "tout sauf" d'inversion des extrémités est désactivée.
Truc & astuce
Si vous ne renseignez pas les extrémités, c'est la zone entière qui est prise (plus précisément l'extrémité désignant la zone entière).
AttentionDifférence entre zone entière et zone restreinte
La zone entière est le réseau correspondant à une carte réseau du pare-feu. Cela correspond au réseau local ainsi que d'éventuels sous-réseaux derrière une passerelle. Elle est nommée <nom de la zone>.
La zone restreinte ne correspond qu'au sous-réseau. Elle est nommée <nom de la zone>_restreint.
Les types de directives
Les types de directives
Il y a plusieurs types de directives :
- autorisation
- interdiction
- redirection
- SNAT
- DNAT
- FORWARD
Les directives d'autorisation et d'interdiction
Une directive est dans une case de flux et elle s'oppose à la politique par défaut du flux. Si le flux est en autorisation, la directive propose une interdiction et inversement.

En plus du filtrage simple, d'autres fonctionnalités sont proposées.
Les directives de redirection
Une directive de type redirection permet de rediriger une requête d'un port déterminé vers un port de la machine elle-même (bastion).

Exemple
Cette fonctionnalité est particulièrement intéressante dans le cas du proxy transparent. Toutes les requêtes destinées à des serveurs web seront redirigées automatiquement vers le service proxy installé sur le serveur.
Les directives de DNAT/SNAT
Exemple
Le SNAT est utilisé pour toutes les requêtes provenant de la zone pédago vers l'extérieur. Cela permet de transformer les adresses source locales en adresses source extérieures.
Attention
Le DNAT et le SNAT ne sont pas autorisés si la directive est authentifiée.
Les directives FORWARD
Les plages horaires
Création d'une plage horaire
Les plages horaires sont définies depuis le menu Bibliothèque > plage horaire
.
Il y a trois manières de définir une plage horaire :
- les heures de début et de fin ;
- les dates de l'année de début et de fin ;
- les jours de la semaine.
Les informations indispensables sont : le nom et une ou plusieurs de ces trois manières.

Le filtrage et les restrictions basées sur des plages horaires sont appliquées par l'utilisation du module time du logiciel iptables.
iptables interprète les dates en UTC[33], il y a donc un décalage normal entre ce qui est saisi dans l'interface et les informations renvoyées par la commande iptables-save
.
Affectation d'une plage horaire à une directive
La journalisation
La case "journaliser" permet de tenir un journal des événements (logs) de la directive (grâce à ULOG).

Gérer des exceptions
Le marquage
Les directives optionnelles
Présentation
Une directive optionnelle[11] est une directive qui va être activable ou désactivable depuis l'interface EAD[9].
Pour cela, il est indispensable d'affecter un libellé optionnel à cette directive. Il est aussi possible de choisir un libellé optionnel préexistant dans la liste des libellés affectés aux directives, ce qui crée une notion de groupe de directives optionnelles.

Truc & astuce
Les directives optionnelles activées/désactivées dans l'EAD sont enregistrées dans le fichier : /var/lib/eole/config/regles.csv
Attention
Un libellé optionnel sert de tag (d'identifiant). Il peut être composé de caractères alphanumériques [1-9] [a-z] [A-Z] et éventuellement de "_" ou d'espaces. Il est impératif de ne utiliser d'autres caractères accentués.
Directive optionnelle active
Une directive optionnelle n'est pas active par défaut dans ERA, c'est-à-dire que la directive ne sera pas appliquée sur le serveur cible. Pour l'appliquer, il faut aller la cocher comme active dans l'interface EAD. Mais il est possible de rendre une directive active par défaut dans ERA. Dans ce cas, il faudra aller dans l'interface EAD pour la désactiver.
L'état actif et la possibilité de marquer une directive comme optionnelle sont deux notions différentes.
Pour activer une directive, aller dans Bibliothèque
/ Directives optionnelles
.

AttentionDirective optionnelle active et inactive
Dans le cas de l'activation/désactivation d'une directive optionnelle, il faut bien comprendre que c'est l'EAD qui prime par rapport à ERA. À la première instanciation du serveur, ERA détermine si la directive optionnelle est active ou inactive, mais une fois le serveur est instancié c'est depuis l'interface EAD qu'il faut renseigner le statut actif/inactif de la directive optionnelle en question.
Les directives optionnelles cachées
Une directive optionnelle cachée est une directive optionnelle qui n'apparaîtra pas dans l'EAD. Elle est activable uniquement par une procédure particulière.
Pour créer une directive optionnelle cachée, aller dans Bibliothèque
/ Directives Optionnelles
et cocher directives cachées
.

Une directive cachée est désactivée par défaut. Pour l'activer, il faut patcher le template active_tags
afin d'y ajouter le libellé optionnel de la directive (un libellé par ligne).
Attention
Il est préférable d'utiliser un libellé optionnel court (par exemple "ActiverProxy
" plutôt que "activer le proxy").
Dans le template active_tags
, ne pas mettre de commentaire.
La qualité de service
La qualité de service ne concerne que les flux des zones internes vers l'extérieur. C'est une QOS[141] externe.
Le qualité de service est un système de minimum garanti.
Elle n'entraîne pas de sous-utilisation de la bande passante, car si une zone n'atteint pas son minimum d'utilisation, ce qui reste est réparti dynamiquement entre les autres zones.
Il est possible d'accéder à la fenêtre de gestion de la QOS[141] de deux manières :
- depuis le menu
Bibliothèque
/Qualité de service (QOS)
; - en cliquant sur la zone Extérieur depuis le tableau des flux.
Dans cette boîte de dialogue, il faut :
- fixer des valeurs de bande passante en upload et en download (c'est-à-dire les flux globaux disponibles entre l'intérieur et l'extérieur), en kilo bits par seconde (soit un débit de 1000 bits par seconde) ;
- à l'aide des poignées de manipulation des différentes boîtes représentant chaque zone, affecter un pourcentage de flux relatif à chaque zone.
Truc & astuce
Remarquons que il est tout-à-fait possible de mettre des variables Creole comme valeurs possibles de QOS en upload et en download
Attention
La QOS peut être définie dans un modèle sans être activée !
Pensez à l'activer dans les options du modèle (Bibliothèque->Options du modèle
).
Attention
La désactivation de la QOS n'est effective que si le fichier /etc/qoseole.conf
est supprimé.
Les options du modèle
Il est possible d'ajouter des règles spécifiques à netbios et à la QOS depuis le menu Bibliothèque
/ Options du modèle
.

Activer netbios permet d'ajouter des règles permettant de bloquer les requêtes du réseau Microsoft vers l'extérieur. Cette règle est activée par défaut.
Si vous voulez utiliser les règles de Qualité de Service (QOS), il est indispensable de l'activer dans cette fenêtre. Par défaut, les règles de QOS ne sont pas actives.
L'inclusion statique
Il est possible d'ajouter des règles iptables personnalisées. Ces règles peuvent utiliser des variables Creole[21].
On accède à la fenêtre des inclusions statiques par le menu Bibliothèque
/ Inclusion Statique
.
Il s'agit d'une zone de saisie de texte. Ces règles seront exécutées en dernier.

Attention
Aucune validation n'est faite par ERA sur ces règles insérées directement par l'utilisateur. Précisons que cette possibilité est réservée à un utilisateur avancé, qui maîtrise parfaitement la syntaxe iptables.
Truc & astuce
Les règles statiques obtenues après traitement sont consultables dans le script dédié : /etc/eole/inclusion_statique
.
Imbriquer des modèles : l'héritage
Il est possible d'imbriquer des modèles, c'est-à-dire de faire dépendre des modèles les uns des autres. Un modèle devient un modèle père, les autres modèles héritent de toutes ses caractéristiques (directives, bibliothèques, flux, zones, ...).
Pour imbriquer des modèles, créez d'abord un modèle de manière habituelle. Ce modèle deviendra le modèle père. Ensuite, créez un nouveau fichier dans l'éditeur, et choisissez dans le menu Fichier
/ importer un modèle
.
Le modèle est chargé comme d'habitude mais les directives importées ne sont plus éditables (elles sont grisées).
Ne seront éditables que les directives que vous allez rajouter. En plus de l'existant, vous pouvez faire toute modification utile (ajout de zone, création de directives, etc...).
Attention
Vous ne pouvez plus changer le fichier père de place ni le renommer, le chemin du fichier père est enregistré comme attribut.
Truc & astuceL'héritage multiple entre modèles
L'héritage d'un modèle XML est donc la possibilité de d'utiliser plusieurs fichiers XML liés entre eux par référence. Le fichier référencé dans un autre fichier est appelé le fichier père. On peut voir si on édite le fichier XML avec un éditeur de texte, que le chemin du fichier XML père est renseigné dans l'attribut **model** à la racine de la balise **firewall**.
Il est possible, mais ce n'est pas une action qui est accessible depuis l'interface gtk, d'hériter de plusieurs fichiers. Il suffit dans ce cas de mentionner dans l'attribut **model** une liste de noms longs de fichiers, séparés par des virgules. Pour des exemples de ces fonctionnalités, regarder dans le dossier **template** dans les sources du projet ERA, car les modèles XML eux-mêmes sont générés à partir de templates qui sont imbriqués entre eux avec cette fonctionnalités de l'héritage multiple.
Communication avec Zéphir
La connexion au Zéphir est possible depuis le menu Zephir
.

Attention
Sur les versions récentes d'EOLE, du fait des vérifications ajoutées au niveau des certificats, il n'est plus possible d'utiliser directement l'adresse IP du serveur Zéphir.
Importer un modèle
ERA intègre la possibilité d'échanger des modèles avec un serveur Zéphir.
Lors du première utilisation des fonctions d'importation Zéphir, des informations de connexion vous seront demandées.
Vous devez spécifier ici l'adresse du serveur Zéphir, et le nom et le mot de passe d'un utilisateur ayant les droits nécessaires (lecture pour l'import et écriture pour l'export). Une fois connecté, vous pourrez saisir l'identifiant du serveur.
Le modèle est alors téléchargé et ouvert dans ERA. Cette procédure n'est valable que si vous avez déjà remonté le modèle de pare-feu dans Zéphir.

A l'enregistrement, il vous sera demandé si vous voulez remonter le modèle sur Zéphir.
Exporter un modèle Zéphir
Lorsque vous avez construit un modèle de pare-feu, vous pouvez l'envoyer directement sur un serveur Zéphir avec le menu Envoi à zephir
. Si vous ne les avez pas encore renseignées, ERA vous demandera les informations nécessaires à la connexion.
Les options suivantes vous sont proposées pour la sauvegarde sur Zéphir :
- pour un serveur : sauvegarde le modèle sur le serveur et change le modèle actif dans la configuration du serveur ;
- pour une variante : le fichier est ajouté à la liste des fichiers de la variante ;
- pour un groupe : idem que pour un seul serveur, mais sur tous les Amon présents dans le groupe choisi.

Directives optionnelles ERA depuis l'EAD
Les modèles de pare-feu ERA peuvent contenir des directives optionnelles[11].
Une règle peut être :
- générale, si elle concerne uniquement l'interface externe ;
- spécifique à une zone de configuration, si elle concerne une interface interne de la zone, dans ce cas, elle apparaîtra dans les règles du filtre web auquel est rattaché l'interface source de la directive.
La configuration générale est accessible par le menu EAD : Configuration générale
/ Règles du pare-feu
.
La configuration spécifique est accessible par le menu EAD : Filtre web X
/ Règles du pare-feu
:
Pour valider une directive optionnelle :
- choisir Actif ;
- valider.
Truc & astuce
Les directives optionnelles activées/désactivées dans l'EAD sont enregistrées dans le fichier : /var/lib/eole/config/regles.csv
AttentionLien entre ERA et les directives optionnelles de l'EAD
Pour les règles optionnelles, l'EAD prime sur l'ERA : elles sont pilotées par l'EAD. Une directive peut être marquée comme étant active par défaut dans ERA et ne pas être active car désactivée dans l'interface EAD.
Compléments techniques
Le format XML interne
Les composantes du tableau des flux sont :
- les flux ;
- les zones ;
- les directives montantes et descendantes.
Le format XML interne suit une DTD qui correspond à la modélisation par flux. Les noms des balises correspondent aux noms des objets ERA. Il y a la liste des zones, puis les extrémités et les services, les groupes de services, et enfin les flux contenant les directives.
La représentation interne en objets est la suivante :

- Directive(FwObject) : directive ;
- Service(FwObject), ServiceGroupe(FwObject) : service et liste de services ;
- Zone(FwObject), Extremite(FwObject) ;
- Flux(FwObject).
Les directives optionnelles
Dans le fichier era.noyau.constants.py
il y a deux constantes intéressantes ici
-
DIRECTIVE_OPTIONAL = 1
-
DIRECTIVE_ACTIVE = 2
Ces filtres permettent de savoir si une directive est optionnelle ou non. Pour cela, il faut regarder l'attribut attrs
de la directive.
Si directive.attrs = 0
, alors la directive n'est ni optionnelle, ni active.
-
attrs=0
: pas optionnelle -
attrs=1
: optionnelle mais pas active -
attrs=3
: optionnelle et active - la valeur 2 correspond à non optionnelle mais active, ce qui n'a pas de sens. Les valeurs autorisées sont donc
[0,1,3]
-
ACTION_DENY
= 1 : barrage -
ACTION_ALLOW
= 2 : pont -
ACTION_FORWARD
= 4 : redirect -
ACTION_DNAT
= 8 : dnat -
ACTION_MASK
= 16 : masque
Exemple
Exemple d'une directive de type masque :
action="16" attrs="0" nat_extr="exterieur_bastion" nat_port="0"
Exemple d'une directive de type dnat :
action="8" attrs="0" nat_extr="serveur_web" nat_port="80"
Comportement du Backend
Règles implicites : le REDIRECT
Un redirect doit inclure aussi une chaine input chaine xxx-bas. A une règle de forward vient donc se greffer une règle de type input.

Il y a une règle de forward (une redirection) :

la chaine input qui vient se greffer sur le redirect (sur le forward) est implicite.un forward z1->z2 doublé d'une redirection, ajoute une règle de type input vers le bastion.
Une directive de redirection génère donc deux règles :
- une règle input vers le bastion
- une règle forward z1->z2
La règle dite "implicite" est la règle de type INPUT. Une règle implicite se place en fin de pile pour chaque flux (elle n'est pas placée directement à côté de sa règle de FORWARD dans le fichier de règles générées).
Règles implicites : Le DNAT et le SNAT
Lors d'un DNAT, une règle de type input est doublée d'un forward (elle s'ajoute à un FORWARD).
Même chose pour le masque de SNAT.
Exemple : un serveur de la DMZ répond à une requête sur le port 80 du bastion.
Un INPUT est transformé en FORWARD.


Un poste de travail peut surfer sur le web avec l'IP publique du bastion. Cela permet de surfer masqué.
Le compilateur
La génération des règles iptables
A la compilation du fichier XML, un certain nombre d'actions sont effectuées. Ce sont des règles iptables :
- définition d'une sous-chaîne pour chaque flux (liaison entre zone/extrémité) ;
- création de la politique par défaut (en fonction du niveau des zones) ;
- ajout des règles correspondant aux directives ;
- ajout de règles implicites liées au directives ;
- insertion des inclusions statiques (règle iptables de bas niveau).
Sur Amon, le compilateur gère aussi l'affichage des règles optionnelles dans l'EAD et récupère leur configuration en cas de mise à jour, et contrôle l'activation des directives cachées.
C'est aussi au moment de la compilation que sont gérées les directives cachées. Elles sont activées ou désactivées selon ce qui a été spécifié.
Utilisation du compilateur en ligne de commande
Aller dans le répertoire /usr/share
et exécuter le compilateur avec un fichier de modèle de pare-feu adapté :
root@amon:/usr/share# ./era/backend/compiler --help
Usage:
Script de generation de regles iptables a partir d'un modele ERA.
compiler [options] era_model_file.xml
Par exemple :
root@amon:/usr/share# ./era/backend/compiler era/modeles/3zones.xml
Différentes options sont possibles, taper --help
pour les détails ou consulter le fichier
/usr/share/era/bastion.sh
qui correspond à ce qui est exécuté par le service bastion.
Quelques références
- Site officiel EOLE (présentation, téléchargement) : https://pcll.ac-dijon.fr/eole/
- Code source du logiciel (versions, branches, tags) : https://dev-eole.ac-dijon.fr/projects/era/repository
- Conteneurisation : https://gitlab.mim-libre.fr/EOLE/eole-2/era/
- Images de conteneur : https://hub.eole.education/harbor/projects/7/repositories/era
Gestion des tunnels : RVP
Pré-requis
Le réseau virtuel privé (RVP)[142] est activé au moment de la configuration et de l'instanciation du module.
Sur le module Amon, il faut au préalable avoir activé et configuré le réseau virtuel privé dans l'interface de configuration du module.
Sur le module Sphynx, ce paramètre est forcé et n'apparaît pas.
ARV[143] permet de gérer les RVP de plusieurs serveurs Sphynx. Un serveur Sphynx autre que le serveur Sphynx-ARV sera appelé Sphynx distant. Sur un serveur de ce type, la mise en place du RVP se fera comme sur un serveur Amon.
Attention
On ne peut pas utiliser le logiciel ARV d'un Sphynx 2.6 ou inférieur pour générer des configurations IPSec d'Amon 2.7/2.8.
Il faut obligatoirement générer les configurations IPSec d'un Amon 2.8 à partir du logiciel ARV d'un Sphynx 2.7 ou 2.8.
Toutefois, si vous utilisez les fonctionnalités de Zéphir, il faudra un serveur Sphynx 2.8 pour importer/générer/diffuser les configurations serveurs et VPN.
Activation du RVP au moment de l'installation du serveur Amon
La configuration du Réseau Virtuel Privé peut se faire avec un serveur Zéphir ou manuellement.
Dans le cas d'une configuration manuelle il faut préparer la configuration avant l'instanciation :
- copier le répertoire
/home/data/vpn/<UAI>/<UAI>-amon.tar.gz
présent sur le module Sphynx sur le module Amon dans/tmp/sphynx.tar.gz
; - sur le module Amon créer le répertoire
ConfIpsec
:# mkdir -p /root/tmp/ConfIpsec
; - se rendre dans le répertoire
/root/tmp/ConfIpsec
:# cd /root/tmp/ConfIpsec
; - désarchiver sphynx.tar.gz :
# tar xzf /tmp/sphynx.tar.gz
Au lancement de la première instanciation, la question suivante vous sera posée :
Voulez-vous configurer le Réseau Virtuel Privé maintenant ? [oui/non]
[non] :
Vous devez répondre oui
à cette question.
Puis le choix 1.Manuel
ou 2.Zéphir
est proposé.
Le choix
1.Manuel
permet de prendre en compte la configuration RVP présente sur le serveur, attention cette opération doit être effectuée avant d'exécuter l'instanciation ;
Le choix
2.Zéphir
active la configuration RVP présente sur le serveur Zéphir. Cela suppose que le serveur est déjà enregistré sur le serveur Zéphir. Il sera demandé un utilisateur et mot de passe Zéphir et l'identifiant Zéphir du serveur Sphynx.
Dans les deux cas, la phrase de passe (passphrase) de la clé privée est demandée. Si le mot de passe est correct le RVP est configuré pour cette machine et l'instanciation peut se poursuivre...
Commandes
Activation du RVP sur des modules Amon déjà en exploitation
Pour activer un RVP sur un module Amon déjà instancié, il faut lancer en tant qu'utilisateur root
la commande active_rvp init.
Attention
Lors de cette phase de configuration du VPN sur Amon, les tunnels peuvent se couper dans les secondes qui suivent et dans certaines circonstances uniquement. Le problème est corrigé à partir de la version strongSwan 5.5.0 qui n'est pas disponible sur cette version d'EOLE.
Toutefois, le problème est très ponctuel et les tunnels seront relancés automatiquement par l'agent Zéphir assez rapidement.
Suppression du RVP
Pour supprimer un RVP, il faut lancer en tant qu'utilisateur root
la commande active_rvp delete.
Gestion du service
Les opérations du service rvp ont été intégrées dans le service strongswan, il faut donc l'utiliser en remplacement :
root@amon:~# service strongswan start
et
root@amon:~# service strongswan stop
Résoudre des dysfonctionnements liés au MTU
Truc & astuce
Cette configuration peut poser problème, notamment avec le réseau virtuel privé (VPN), lorsque les paquets ICMP[145] de type 3 (Destination Unreachable) / code 4 (Fragmentation Needed and Don't Fragment was Set) sont bloqués quelque part sur le réseau.
Un des phénomènes permettant de diagnostiquer un problème lié au PMTUd est l'accès à certains sites (ou certaines pages d'un site) n'aboutissant pas (la page reste blanche) ou les courriels n'arrivant pas dans le client de messagerie.
Il est possible de forcer la valeur du MTU pour une interface donnée dans l'onglet Réseau avancé
de l'interface de configuration du module en mode expert.
Truc & astuce
Les commandes ping, ip route et tracepath sont utilisées pour ajuster les valeurs.
Utilisation de la commande ping
La commande ping permet de réaliser des tests en forçant la taille des paquets :
- ping OK avec une taille forcée à la valeur 1400 :
root@amon:~# ping -M do -s 1400 pcll.ac-dijon.fr -c1
PING listeseole.ac-dijon.fr (194.167.18.17) 1400(1428) bytes of data.
1408 bytes from platon.ac-dijon.fr (194.167.18.17): icmp_seq=1 ttl=62 time=1.38 ms
--- listeseole.ac-dijon.fr ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.380/1.380/1.380/0.000 ms
- ping KO avec une taille forcée à la valeur 1500 :
root@amon:~# ping -M do -s 1500 pcll.ac-dijon.fr -c1
PING listeseole.ac-dijon.fr (194.167.18.17) 1500(1528) bytes of data.
ping: local error: Message too long, mtu=1500
--- listeseole.ac-dijon.fr ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
Utilisation de la commande ip route
La commande ip route get to permet de visualiser les problèmes de MTU.
# ip route get to 172.X.Y.Z
172.X.Y.Z dev eth0 src 10.67.V.W
cache expires 508sec mtu 1400
La commande ip route flush cache permet quant à elle de vider le cache.
Utilisation de la commande tracepath
La commande tracepath permet d'identifier où se trouvent les limitations du MTU.
# tracepath 172.X.Y.Z
1?: [LOCALHOST] pmtu 1500
1?: [LOCALHOST] pmtu 1438
1: 192.168.A.B 1.353ms
1: 192.168.C.D 1.972ms
2: 192.168.E.F 2.014ms
3: 192.168.G.H 1.657ms
4: 192.168.I.J 3.026ms
5: 192.168.K.L 2.543ms pmtu 1400
5: 172.M.N.O 9.930ms
6: no reply
...