# Réglages divers



# Configuration du contrôle parental

<span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;">Pour modifier les règles de contrôle parental, il faut aller dans le menu principal, et saisir « contrôle » dans la barre de recherche. Dans les icônes qui apparaissent, on clique sur « Contrôle parental » :</span>

<span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;">[![ctp10.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/ctp10.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/ctp10.png)</span>

<span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;">On peut également y accéder depuis ce même menu dans la catégorie "Système" (seconde roue dentée) :</span>

<span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;">[![ctp11.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/ctp11.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/ctp11.png)</span>

<span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;">Une boîte de dialogue permet de choisir entre changer le mot de passe et modifier la configuration :</span>

<span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;">[![ctp12.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/ctp12.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/ctp12.png)</span>

<span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR;"> Il est demandé le nom d’utilisateur et le mot de passe. Ce sont les identifiants qui ont été saisis lors de l'installation du contrôle parental :</span>[![cfg-ctp01.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp01.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp01.png)

Plusieurs pages permettant différents réglages sont à disposition.

#### Page filtrage par blacklist

Dans cette page on sélectionne les sites qui seront autorisés ou interdits, par mots clés ou bien par nom de domaine. Pour le filtrage par mots clés, toutes les cases cochées interdiront les sites liés à ces mots clés, toutes les cases non cochées les autoriseront :

[![cfg-ctp02.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp02.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp02.png)

Plus bas sur la page, des zones de saisie permettent d'indiquer précisément des noms de domaine que l'on veut réhabiliter (dont on veut autoriser l'accès), ou interdire explicitement :

[![cfg-ctp03.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp03.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp03.png)

Si par exemple on veut interdire l'accès au moteur de recherche google, il faudra saisir dans la zone "Noms de domaine, adresses ip ou réseaux filtrés, les divers noms de domaine ou ip de ce moteur de recherche, notamment

`google.fr`

`www.google.fr`

`google.com`

`www.google.com`

#### Page groupe privilégié

Dans cette page, on pourra sélectionner les sessions pour lesquelles le contrôle parental s'exercera le contrôle parental. Pour que le filtrage ne soit pas actif, il faut cocher les cases des sessions correspondantes. Ici, le filtrage est actif pour toutes les sessions sauf la session Poe (administrateur) :

[![cfg-ctp04.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp04.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp04.png)

#### Page safesearch configuration

Cette page permet d’activer/désactiver l’option Safesearch de plusieurs moteurs de recherche (Google, YouTube, Bing, DuckDuckgo et Qwant) sans rien avoir à faire sur les pages de paramètres de ces derniers.

[![cfg-ctp05.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp05.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp05.png)

#### Page heures d'accès au PC et temps de navigation

Dans cette page il sera possible de définir des jours, heures, périodes et limites d'accès à Internet. On commence par activer les horaires de connexion :

[![cfg-ctp06.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp06.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp06.png)

puis un utilisateur auquel s'appliquera les restrictions :

[![cfg-ctp07.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp07.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp07.png)

[![cfg-ctp08.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp08.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp08.png)

En décochant l'option 7j/7 24h/24 on fait apparaître un formulaire permettant de définir finement des horaires des limites de temps :

[![cfg-ctp09.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/cfg-ctp09.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/cfg-ctp09.png)

# Ré-initialiser un compte élève

Si on a besoin de ré-initialiser un compte élève : jerry, koda ou leon, ceci est possible à partir du compte Poe.

<p class="callout danger">On perdra toutes les données de ces comptes !!! Il faudra donc éventuellement les sauvegarder avant.</p>

Voici les commandes à taper si on veut réinitialiser le compte élève "jerry" (mais il suffira de remplacer "jerry" par "koda" ou "leon" selon le besoin).

Tout d'abord, il faudra tuer tous les process liés au compte "jerry" à supprimer. Si aucune session de ce compte n'a été ouverte depuis le démarrage de l'ordinateur, ça ne sera pas la peine. Sinon, il faudra saisir cette commande :

```bash
sudo pkill -u jerry
```

Ensuite on supprime le compte (et ses dossiers, documents) avec :

```bash
sudo userdel -r jerry
```

On réinstalle le fichier de profil associé avec :

```bash
sudo apt reinstall profil-jerry-primtux
```

Puis on recrée le compte "jerry" avec un mot de passe vide :

```bash
sudo useradd --password '' -m -k /etc/skel-jerry jerry -c "Jerry"
```

*Remarques :*

- On indique un mot de passe vide car il s'agit d'une session pour les élèves.
- Il serait possible de réinitialiser le compte Poe de cette façon à condition d'avoir un autre compte administrateur. Mais à éviter ou à vos risques et périls...

# Connexion automatique à une session

Si vous avez dans votre classe des élèves ne relevant que d'un seul cycle, vous pourriez souhaiter qu'au lancement PrimTux démarre directement sur la session correspondant à ce cycle. L'équipe PrimTux propose un utilitaire permettant de faire cela simplement.

## Installation de l'utilitaire

Saisir "terminal" dans la barre de recherche du menu principal, puis cliquer sur l'icône du terminal qui apparaît :

[![autologin01.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/autologin01.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/autologin01.png)

Une fenêtre de terminal s'ouvre :

[![autologin02.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/autologin02.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/autologin02.png)

Y saisir la commande suivante, et appuyer sur la touche Entrée :

`sudo apt update`

Cette commande permet de mettre à jour la liste des logiciels disponibles.

Saisir maintenant la commande suivante qui installera le logiciel autologin, puis appuyer sur la touche Entrée :

`sudo apt install autologin-primtux8`

L'application est maintenant installée.

## Lancer l'application autologin

Saisir "auto" dans la barre de recherche du menu principal, puis cliquer sur l'icône autologin-primtux qui apparaît :

[![autologin03.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/autologin03.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/autologin03.png)

Une fenêtre avec le choix des sessions va s'ouvrir :

[![autologin04.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/autologin04.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/autologin04.png)

Dans cette fenêtre, cliquer sur la session souhaitée. Par exemple, ici Koda :

[![autologin05.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/autologin05.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/autologin05.png)

Redémarrer l'ordinateur qui s'ouvrira désormais directement sur la session choisie.

Pour ouvrir automatiquement PrimTux sur une autre session, refaire la même démarche pour ouvrir l'application autologin-primtux et choisir la session désirée.

<span style="font-size: 11.0pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">Pour revenir à l'ouverture sur les 4 sessions</span>, choisir "Aucun autologin" :

[![autologin06.png](https://documentation.primtux.fr/uploads/images/gallery/2024-05/scaled-1680-/autologin06.png)](https://documentation.primtux.fr/uploads/images/gallery/2024-05/autologin06.png)

# Blocage d'Internet pour les sessions élèves

Il peut arriver qu'on ne veuille pas que les élèves en maternelle (utilisateur "Jerry") aient accès à Internet tout en gardant cette possibilité pour le compte Poe de l'enseignant⋅e et les autres élèves (utilisateurs "Koda et "Leon").  
La solution repose sur nftables qui est assez peu utilisé face à son prédécesseur iptables.  
Voir cette page pour plus d'info sur nftables : [https://fr.wikipedia.org/wiki/Nftables](https://fr.wikipedia.org/wiki/Nftables)

**<span style="color: rgb(224, 62, 45); background-color: rgb(241, 196, 15);">EN COURS DE TEST : RETOURS APPRÉCIÉS !!!</span>**

On va d'abord trouver l'UID de l'utilisateur Jerry avec la commande :

```bash
id -u jerry
```

Ça nous retourne un nombre. Pour Jerry, l'UID est :

```
1001
```

On peut dès lors éditer le fichier de configuration de nftables avec la commande :

```bash
sudo nano /etc/nftables.conf
```

Voici le contenu initial :

```bash
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        chain input {
                type filter hook input priority filter;
        }
        chain forward {
                type filter hook forward priority filter;
        }
        chain output {
                type filter hook output priority filter;
        }
}

```

On va alors ajouter dans la partie "chain output", les règles pour l'utilisateur ayant l'UID 1001 qui est Jerry :

```bash
#!/usr/sbin/nft -f

# Paramètres à adapter selon l'UID de Jerry et votre réseau LAN
# Il suffit d'initialiser les variables nécessaires uniquement dans cette partie
define UTILISATEUR = 1001
# Pour plusieurs utilisateurs UID 1001 (Jerry), 1002 (Koda) et 1003 (Léon)
# et remplacer $UTILISATEUR par $UTILISATEURS défini ci-dessous
#define UTILISATEURS = { 1001, 1002, 1003 }
define LAN = 192.168.1.0/24

# Suppression des règles existantes (remise à zéro)
flush ruleset

# Règles à appliquer
table inet filter {
    chain input {
        type filter hook input priority filter;
    }

    chain forward {
        type filter hook forward priority filter;
    }

    chain output {
        type filter hook output priority 0;
        # les règles "accept" doivent précéder les règles "drop" !!!
        # Loopback / localhost
        meta skuid $UTILISATEUR oif lo accept
        # LAN IPv4
        meta skuid $UTILISATEUR ip daddr $LAN accept
        # LAN IPv6
        meta skuid $UTILISATEUR ip6 daddr { fe80::/10, fc00::/7 } accept
        # Blocage total Internet avec message indiquant que la connexion est refusée
        meta skuid $UTILISATEUR reject with icmpx type admin-prohibited
        # ou Blocage total sans message avec Timeout
        #meta skuid $UTILISATEUR drop

    }
}
```

On applique la config avec cette commande :

```bash
sudo nft -f /etc/nftables.conf
```

Pour rendre cette règle pérenne au démarrage, taper les commandes :

```bash
sudo systemctl enable nftables
sudo systemctl restart nftables
```

Pour vérifier les règles, taper :

```bash
sudo nft list ruleset
```