Ci sono molti modi che potrebbero aiutare:
- rimuove l'intera home directory e copia tutti i file da
/etc/skel
torna alla homedir. Modifica le autorizzazioni in seguito. - inserisci il sistema in una macchina virtuale, crea uno snapshot e ripristina lo snapshot dopo la lezione 1
- trova qualcosa come una modalità chiosco in RHEL. Ubuntu ha qualcosa del genere, che ripristina automaticamente la home durante la disconnessione
- metti la home su un filesystem btrfs, crea un'istantanea e ripristina dopo la lezione 1
tar
la home directory prima della lezione, elimina home dopo, ripristina datar
- ...
E imparare altri strumenti come Puppet/Chef è un po' troppo se vuoi ottenere risultati la prossima settimana.
Supponiamo che tutti i tuoi studenti abbiano un UID compreso tra 1000 e 65000
Una battuta veloce come questa funzionerebbe. Awk stamperà un comando rsync e un comando chown per ogni utente nell'intervallo. L'invio dell'output di awk in bash eseguirà tutti i comandi per reimpostare directory e permessi.
# 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 )
Se stai usando gdm per il tuo gestore degli accessi puoi aggiungere qualcosa come questo file:/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