Il existe plusieurs façons d'aider :
- supprimer le répertoire personnel complet et copier tous les fichiers de
/etc/skel
retour au homedir. Modifiez les autorisations par la suite. - placez le système dans une machine virtuelle, créez un instantané et revenez à l'instantané après la leçon 1
- trouver quelque chose comme un mode kiosque dans RHEL. Ubuntu a quelque chose comme ça, qui restaure automatiquement la maison lors de la déconnexion
- mettez le home sur un système de fichiers btrfs, faites un instantané et revenez après la leçon 1
tar
le répertoire d'accueil avant la leçon, supprimer l'accueil après, restaurer à partir detar
- ...
Et apprendre d'autres outils comme Puppet/Chef est un peu trop si vous voulez des résultats la semaine prochaine.
Disons que tous vos étudiants avaient un UID entre 1000 et 65000
Un one-liner rapide comme celui-ci fonctionnerait. Awk imprimera une commande rsync et une commande chown pour chaque utilisateur de la plage. L'envoi de la sortie de awk dans bash exécutera toutes les commandes pour réinitialiser les répertoires et les autorisations.
# see what will happen.
awk 'BEGIN{FS=":"} $3 >= 1000 && $3 <=65000 { print "rsync --delete -v -r /etc/skel/ " $6 "/ ; chown -R " $1 ":" $1 " " $6;}' /etc/passwd
# actually run the commands to reset all users matched by awk.
bash <( awk 'BEGIN{FS=":"} $3 >= 1000 && $3 <=65000 { print "rsync --delete -v -r /etc/skel/ " $6 "/ ; chown -R " $1 ":" $1 " " $6;}' /etc/passwd )
Si vous utilisez gdm pour votre gestionnaire de connexion, vous pouvez ajouter quelque chose comme ce fichier :/etc/gdm/PostSession/Default
#!/bin/sh
if [[ "$USER" != "" ]]; then
rm -rf /home/$USER
cp -r /etc/skel /home/$USER
chown -R $USER:$USER /home/$USER
fi