Skip to main content

Autre

Mettre en place NAT

Pour que les postes Edubuntu puissent accéder à Internet, il faut créer une règle NAT.

Dans la version précédente de Edubuntu, nous faisions l'appel des règles via le fichier de configuration interfaces.
Cela ne peut plus se faire avec la nouvelle version, j'ai donc choisis de passer par crontab :

crontab -e

On ajout ensuite la ligne suivante :

@reboot iptables --table nat --append POSTROUTING --jump MASQUERADE --source 192.168.1.0/24

Scripts

Vider sessions

Un script mis en place sur cette nouvelle version est de supprimé le contenu des sessions utilisateurs.
Decision prise après la quantité de problèmes survenus à cause des sessions trop volumineuses.

Le fichier bash est à placé dans le répertoire cron.daily:
nano /etc/cron.daily/vider-sessions.sh

for user in $(ls /home/users/)
do
        rm -rf /home/users/$user/Documents/*
        rm -rf /home/users/$user/Images/*
        rm -rf /home/users/$user/Musique/*
        rm -rf /home/users/$user/Téléchargements/*
        rm -rf /home/users/$user/Vidéos/*
        rm -rf /home/users/$user/.config/dolphinrc
done
rm -rf /Serveur/.Trash*

Il faut ensuite définir qu'il s'agit d'un fichier executable :

chmod +x /etc/cron.daily/vider-sessions.sh

Copier menu démarrer modèle

Un autre script utile permet de mettre à jour le menu KDE depuis la session modèle vers l'ensemble des sessions de façon journalière.
Cela permet de modifier la session modèle sans se soucier de devoir mettre à jour le skel ou les sessionsmanuellement.

Le fichier bash est à placé dans le répertoire cron.daily :
nano /etc/cron.daily/dupliquer-menu.sh

#!/bin/bash

for user in $(ls /home/users/); do
        cp -R /home/users/info20/.config/menus/* /home/users/$user/.config/menus/;
        cp -R /home/users/info20/.local/share/applications/* /home/users/$user/.local/share/applications/;
        cp -R /home/users/info20/.config/plasma-org.kde.plasma.desktop-appletsrc /home/users/$user/.config/plasma-org.kde.plasma.desktop-appletsrc
        $groupe = "groups $user";
        chown -R $user:$groupe /home/users/$user/
        echo "Le fichier a été copié sur le bureau de "$user" !"
done

cp -R /home/users/info20/.config/menus/* /etc/skel/.config/menus/;
cp -R /home/users/info20/.local/share/applications/* /etc/skel/.local/share/applications/;
cp -R /home/users/info20/.config/plasma-org.kde.plasma.desktop-appletsrc /etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc

echo "Les fichiers ont été copiés dans le skel"

Il faut ensuite définir qu'il s'agit d'un fichier executable :

chmod +x /etc/cron.daily/dupliquer-menu.sh

Actualiser les droits du partage Serveur

Un script qui permettra de toujours avoir les droits des fichiers à jour, malgré la multitude d'utilisateurs.
Ceci afin d'éviter les soucis liés à la quantité d'utilisateurs différents sur le partage.

Le fichier bash est à placé dans le répertoire cron.min :
mkdir /etc/cron.min
nano /etc/cron.min/Droits-montage.sh

#!/bin/bash
for COUNT in `seq 5`; do
        NOW=$(date +"%m-%d-%Y %H:%M:%S")
        echo $NOW >/tmp/perm.txt
        chown root:root /Serveur
        chmod 755 /Serveur
        chown -R mnteleve:Eleves /Serveur/Tablette
        chmod -R 777 /Serveur/Tablette
        chown -R mntenseignants:Enseignants /Serveur/Profs
        chmod -R 770 /Serveur/Profs
        chown -R mntenseignants:Enseignants /Serveur/Direction
        chmod -R 770 /Serveur/Direction
        chown -R mnteleve:Eleves /Serveur/Classes
        chmod -R 777 /Serveur/Classes
        chmod -R 755 /Serveur/CDs
        sleep 10
done

Il faut ensuite définir qu'il s'agit d'un fichier executable :

chmod +x /etc/cron.min/Droits-montage.sh

Copier documentation bureau

Un autre script utile permet de mettre à jour le menu KDE depuis la session modèle vers l'ensemble des sessions de façon journalière.
Cela permet de modifier la session modèle sans se soucier de devoir mettre à jour le skel ou les sessionsmanuellement.

Le fichier bash est à placé dans le répertoire cron.daily :
nano /etc/cron.daily/dupliquer-doc.sh

#!/bin/bash

wget -O /home/users/info20/Bureau/Presentation\ Edubuntu\ 2.0.pdf https://kasa.vitrecommunaute.bzh/index.php/s/doc-edubuntu/download/Presentation%

for user in $(ls /home/users/); do
        cp "/home/users/info20/Bureau/Presentation Edubuntu 2.0.pdf" "/home/users/"$user"/Bureau/Presentation Edubuntu 2.0.pdf"
        echo "Le fichier a été copié sur le bureau de "$user" !"
done

cp "$file_to_copy" /etc/skel/Bureau/
echo "Le fichier a été copié dans le skel"

Il faut ensuite définir qu'il s'agit d'un fichier executable :

chmod +x /etc/cron.daily/dupliquer-doc.sh

Mise à jour auto de l'image

Au vu du nombre d'écoles infogérées par le service, et afin de simplifié la gestion, un script qui update upgrade l'image a été mis en place.

Le fichier bash est à placé dans le répertoire cron.monthly :
nano /etc/cron.monthly/update-chroot.sh

#!/bin/bash

#Changement de la banniere en cas de connexion pendant la mise à jour
cp /etc/motd-maintenance /etc/motd
update-motd

# Chemin du chroot
chroot_path="/srv/ltsp/edubuntu/"

# Montage des systèmes de fichiers nécessaires
mount --bind /proc "$chroot_path/proc"
mount --bind /sys "$chroot_path/sys"
mount --bind /dev "$chroot_path/dev"

# Exécution des commandes apt update et apt upgrade dans le chroot
chroot "$chroot_path" /bin/bash -c "apt-get update && apt-get -y upgrade"

# Démontage des systèmes de fichiers
umount "$chroot_path/proc"
umount "$chroot_path/sys"
umount "$chroot_path/dev"

# Update de l'image client par ltsp
ltsp image edubuntu && ltsp initrd && ltsp ipxe

#Remise en place de la banniere SSH normale
cp /etc/motd-normal /etc/motd
update-motd

Il faut ensuite définir qu'il s'agit d'un fichier executable :

chmod +x /etc/cron.monthly/update-chroot.sh

Pour l'exemple, voici la motd-normal :

==========================================================================

    ____  ______     __    _____ ____  _   _       _   _ ____  ____
   / ___||  _ \ \   / /   | ____|  _ \| | | |     | | | |  _ \|  _ \
   \___ \| |_) \ \ / /____|  _| | | | | | | |_____| |_| | | | | |_) |
    ___) |  _ < \ V /_____| |___| |_| | |_| |_____|  _  | |_| |  _ <
   |____/|_| \_\ \_/      |_____|____/ \___/      |_| |_|____/|_| \_\


=========================================================================

=========================================================================

Et la motd-maintenance :

==========================================================================

    ____  ______     __    _____ ____  _   _       _   _ ____  ____
   / ___||  _ \ \   / /   | ____|  _ \| | | |     | | | |  _ \|  _ \
   \___ \| |_) \ \ / /____|  _| | | | | | | |_____| |_| | | | | |_) |
    ___) |  _ < \ V /_____| |___| |_| | |_| |_____|  _  | |_| |  _ <
   |____/|_| \_\ \_/      |_____|____/ \___/      |_| |_|____/|_| \_\


=========================================================================
             || Update de l'image client en cours ! ||
=========================================================================

Merci de ne pas redémarrer le serveur pendant les 30 prochaines minutes !

=========================================================================