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.min :
daily:mkdir /etc/cron.minnano /etc/cron.min/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.min/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.dailymin :mkdir /etc/cron.min
nano /etc/cron.min/Droits-montage.sh
#!/bin/bash
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
chown -R root:root
chmod -R 755 /Serveur/CDs
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 /_____| |___| |_| | |_| |_____| _ | |_| | _ <
|____/|_| \_\ \_/ |_____|____/ \___/ |_| |_|____/|_| \_\
=========================================================================
=========================================================================
==========================================================================
____ ______ __ _____ ____ _ _ _ _ ____ ____
/ ___|| _ \ \ / / | ____| _ \| | | | | | | | _ \| _ \
\___ \| |_) \ \ / /____| _| | | | | | | |_____| |_| | | | | |_) |
___) | _ < \ V /_____| |___| |_| | |_| |_____| _ | |_| | _ <
|____/|_| \_\ \_/ |_____|____/ \___/ |_| |_|____/|_| \_\
=========================================================================
|| Update de l'image client en cours ! ||
=========================================================================
Merci de ne pas redémarrer le serveur pendant les 30 prochaines minutes !
=========================================================================