Ich helfe, nächste Woche zwei Unix-Kurse zu unterrichten. Benutzern wird ein Konto auf einem RHEL 5-Computer gewährt. Während dieser Zeit fügen sie Dateien zu ihrem /home
Ordner hinzu, aktualisieren ihre .bashrc
und andere Punktedateien und führen andere allgemeine Probleme aus, die bereinigt werden müssen.
Die Schüler der zweiten Sitzung verwenden die Benutzerkonten der Personen in der ersten Sitzung wieder. Ich möchte die Bereinigung ihrer Konten automatisieren, damit neue Benutzer neu beginnen können.
Ich bin sicher, ich könnte ein Shell-Skript schreiben, das a su -u $USER_ID
ausführt und einen "ursprünglichen" Satz guter Dateien in ihrem Homedir ablegt und alles andere entfernt, was es findet. Gibt es andere Tools, die mir bei diesem Bereinigungs- / Rücksetzvorgang helfen? Ich habe keine Erfahrung mit Puppen, Köchen oder anderen Werkzeugen. Wären sie hilfreich, um so etwas zu tun?
Um einen Überblick über das Problem zu geben, gibt es ungefähr 30 Benutzerkonten, ich kenne alle Benutzer-IDs / Kennwörter und sie werden alle auf derselben RHEL-Box erstellt.
quelle
Antworten:
Es gibt viele Möglichkeiten, die helfen würden:
/etc/skel
zurück in das Homedir. Ändern Sie anschließend die Berechtigungen.tar
das Home-Verzeichnis vor dem Unterricht, löschen Sie das Home danach, stellen Sie es wieder hertar
Und andere Werkzeuge wie Puppet / Chef zu lernen ist ein bisschen zu viel, wenn Sie nächste Woche Ergebnisse erzielen möchten.
quelle
tar
und wiederherstellen und versuchen, ein Tool wie Puppet zu lernen, wenn ich nicht in einer Zeitkrise bin.Nehmen wir an, alle Ihre Schüler hatten eine UID zwischen 1000 und 65000
Ein schneller Einzeiler wie dieser würde funktionieren. Awk druckt für jeden Benutzer im Bereich einen rsync-Befehl und einen chown-Befehl aus. Wenn Sie die Ausgabe des awk in bash senden, werden alle Befehle zum Zurücksetzen von Verzeichnissen und Berechtigungen ausgeführt.
quelle
Wenn Sie gdm für Ihren Anmeldemanager verwenden, können Sie Folgendes hinzufügen: / etc / gdm / PostSession / Default
quelle
Die "ursprünglichen" Kontodateien befinden sich in Unix-Systemen normalerweise unter / etc / skel.
Abgesehen davon kenne ich kein Tool zur Automatisierung der Bereinigung. Am Ende würde ich wahrscheinlich ein einfaches Bash-Skript schreiben.
quelle
Versuche dies
quelle
Es mag ein nettes Tool geben, das helfen wird, aber ich würde wahrscheinlich nur (a) das gewünschte Zeug in ein Git-Repo einfügen und (b) ein Skript schreiben, das über die Benutzer iteriert und das gewünschte Zeug rm und aus dem Git-Repo zieht .
quelle
Dies funktioniert für Ubuntu-Gnome: pico /usr/local/bin/cleanup.sh
rm -rf / home / user / Downloads / *
Machen Sie dasselbe, wenn Sie Dokumente entfernen möchten
Beenden Sie chmod 511 /usr/local/bin/cleanup.sh
pico / etc / gdm / PostSession / Default
! / bin / bash
/usr/local/bin/cleanup.sh exit 0
quelle