Es gibt viele Möglichkeiten, die helfen würden:
- Entfernen Sie das komplette Home-Verzeichnis und kopieren Sie alle Dateien von
/etc/skel
zurück zum Homedir. Berechtigungen nachträglich ändern. - Setzen Sie das System in eine virtuelle Maschine, erstellen Sie einen Snapshot und kehren Sie nach Lektion 1 zum Snapshot zurück
- so etwas wie einen Kioskmodus in RHEL finden. Ubuntu hat so etwas, das beim Abmelden automatisch das Home wiederherstellt
- Legen Sie das Home auf ein btrfs-Dateisystem, machen Sie einen Schnappschuss und kehren Sie nach Lektion 1 zurück
tar
das Heimatverzeichnis vor der Lektion, Heimat danach löschen, abtar
wiederherstellen- ...
Und das Erlernen anderer Tools wie Puppet/Chef ist ein bisschen zu viel, wenn Sie nächste Woche Ergebnisse erzielen möchten.
Angenommen, alle Ihre Schüler hatten eine UID zwischen 1000 und 65000
Ein schneller Einzeiler wie dieser würde funktionieren. Awk gibt einen rsync-Befehl und einen chown-Befehl für jeden Benutzer im Bereich aus. Das Senden der Ausgabe von awk an bash führt alle Befehle zum Zurücksetzen von Verzeichnissen und Berechtigungen aus.
# 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 )
Wenn Sie gdm für Ihren Anmeldemanager verwenden, können Sie so etwas wie diese Datei hinzufügen:/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