Το Στέκι των Πληροφορικών

Γενικά => Τεχνική υποστήριξη => Linux => Μήνυμα ξεκίνησε από: da_perama στις 17 Ιουν 2015, 11:53:22 ΠΜ

Τίτλος: Καθαρισμός δίσκου
Αποστολή από: da_perama στις 17 Ιουν 2015, 11:53:22 ΠΜ
Τώρα που τελείωσε η χρονιά θα ήθελα με κάποιο συνοπτικό τρόπο να καθαρίσω το δίσκο από τα αρχεία των μαθητών, χωρίς να πειράξω τους χρήστες. Να μείνουν δηλαδή οι αρχικοί φάκελοι των χρηστών άδειοι.
Τίτλος: Απ: Καθαρισμός δίσκου
Αποστολή από: mitsospap στις 17 Ιουν 2015, 10:36:27 ΜΜ
Γιατί να μην πεταχτούν και οι χρήστες; Κάνε νέους. Και εξαίρεσε όσους δεν είναι χρήστες μαθητών από την διαγραφή
Τίτλος: Απ: Καθαρισμός δίσκου
Αποστολή από: da_perama στις 18 Ιουν 2015, 11:35:33 ΠΜ
Γιατί έχω φτιάξει 11 χρήστες (όσοι και οι υπολογιστές του εργαστηρίου) για κάθε τμήμα (8 τμήματα για κάθε τάξη) και δεν θέλω να τους φτιάξω ξανά από την αρχή.
Τίτλος: Απ: Καθαρισμός δίσκου
Αποστολή από: alkisg στις 19 Ιουν 2015, 09:52:59 ΠΜ
Γενικά, δίκιο έχει ο mitsospap, εύκολο είναι μέσα από τα sch-scripts κάποιος να διαγράψει 100 χρήστες μαζί με τους αρχικούς τους καταλόγους, και μετά να τους ξαναδημιουργήσει σε ένα λεπτό από το διάλογο μαζικής δημιουργίας χρηστών.

Όμως φυσικά γίνεται και χωρίς να ξαναδημιουργηθούν οι χρήστες, με λίγες απλές εντολές. Το είχαμε αναφέρει εδώ (https://alkisg.mysch.gr/steki/index.php?topic=2210.msg51082#msg51082) αλλά ας το ξαναγράψω λίγο πιο αναλυτικά:

Κώδικας (Bash) [Επιλογή]

# Σύνδεση ως root
sudo -i
# Μετάβαση στον φάκελο με τα αρχεία χρηστών:
cd /home
# Προβολή των ονομάτων (φακέλων) όλων των χρηστών:
ls
# Προβολή μόνο των χρηστών που αρχίζουν από u:
echo u*
# Είτε με wildcards σαν το u* είτε με copy/paste συγκεκριμένων ονομάτων,
# δημιουργούμε σε μία γραμμή τη λίστα χρηστών που θέλουμε.
# Μετά ελέγχουμε αν όντως διαλέξαμε αυτούς που θέλαμε:
for user in u* kostas eirini; do su - "$user" -c 'whoami'; done
# Και τέλος βάζουμε την εντολή που διαγράφει τα αρχεία των χρηστών:
for user in u* kostas eirini; do su - "$user" -c 'find . -delete; rsync -a /etc/skel/ .'; done