Πώς να διαγράψετε λογαριασμούς χρηστών με τον Home Directory στο Linux
Σε αυτό το σεμινάριο, θα ακολουθήσω τα βήματα που μπορείτε να χρησιμοποιήσετε για να διαγράψετε τον λογαριασμό ενός χρήστη μαζί με τον οικιακό κατάλογο του/της σε ένα σύστημα Linux.
Για να μάθετε πώς να δημιουργείτε λογαριασμούς χρηστών και να τους διαχειρίζεστε σε συστήματα Linux, διαβάστε τα παρακάτω άρθρα από τους παρακάτω συνδέσμους:
- 15 Παραδείγματα εντολών «useradd» για τη διαχείριση λογαριασμών χρηστών στο Linux
- 15 Παραδείγματα εντολών "usermod" για αλλαγή/τροποποίηση ονομάτων λογαριασμού χρήστη στο Linux
- Πώς να διαχειριστείτε χρήστες και ομάδες με δικαιώματα αρχείων στο Linux
Ως Διαχειριστής συστήματος στο Linux, μπορεί να χρειαστεί να καταργήσετε τον λογαριασμό χρήστη μετά από κάποια στιγμή που ένας λογαριασμός χρήστη μπορεί να παραμείνει αδρανής για τόσο μεγάλο χρονικό διάστημα ή ο χρήστης μπορεί να εγκαταλείψει τον οργανισμό ή την εταιρεία ή για οποιονδήποτε άλλο λόγο.
Κατά την κατάργηση λογαριασμών χρηστών σε ένα σύστημα Linux, είναι επίσης σημαντικό να αφαιρέσετε τον οικιακό κατάλογο για να ελευθερώσετε χώρο στις συσκευές αποθήκευσης για νέους χρήστες συστήματος ή άλλες υπηρεσίες.
Διαγραφή/Αφαίρεση λογαριασμού χρήστη με τον Κατάλογο οικίας του/της
1. Για λόγους επίδειξης, πρώτα θα ξεκινήσω δημιουργώντας δύο λογαριασμούς χρηστών στο σύστημά μου που είναι ο χρήστης tecmint και ο χρήστης linuxsay με τους αρχικούς καταλόγους τους /home/tecmint και /home/linusay αντίστοιχα χρησιμοποιώντας την εντολή adduser.
adduser tecmint
passwd tecmint
adduser linuxsay
passwd linuxsay
Από το παραπάνω στιγμιότυπο οθόνης, χρησιμοποίησα την εντολή adduser για να δημιουργήσω λογαριασμούς χρηστών στο Linux. Μπορείτε επίσης να χρησιμοποιήσετε την εντολή useradd, και τα δύο είναι ίδια και κάνουν την ίδια δουλειά.
2. Ας προχωρήσουμε τώρα για να δούμε πώς μπορείτε να διαγράψετε ή να αφαιρέσετε λογαριασμούς χρηστών στο Linux χρησιμοποιώντας το deluser (Για το Debian και τα παράγωγά του) και το userdel ( Για συστήματα που βασίζονται σε RedHat/CentOS) εντολή.
Οι οδηγίες μέσα στο αρχείο διαμόρφωσης για τις εντολές deluser και userdel καθορίζουν τον τρόπο με τον οποίο θα χειρίζεται όλα τα αρχεία χρήστη και τον κατάλογο όταν εκτελείτε την εντολή.
Ας δούμε το αρχείο διαμόρφωσης για την εντολή deluser που είναι /etc/deluser.conf
σε παράγωγα του Debian όπως Ubuntu, Kali, Mint και για RHEL/CentOS/Fedora χρήστες, μπορείτε να δείτε τα αρχεία /etc/login.defs
.
Οι τιμές σε αυτές τις ρυθμίσεις παραμέτρων είναι προεπιλεγμένες και μπορούν να αλλάξουν ανάλογα με τις ανάγκες σας.
vi /etc/deluser.conf [On Debian and its derivatives]
vi /etc/login.defs [On RedHat/CentOS based systems]
3. Για να διαγράψετε έναν χρήστη με αρχικό κατάλογο, μπορείτε να χρησιμοποιήσετε τον προηγμένο τρόπο ακολουθώντας αυτά τα βήματα στον υπολογιστή σας διακομιστή Linux. Όταν οι χρήστες είναι συνδεδεμένοι στο διακομιστή, χρησιμοποιούν υπηρεσίες και εκτελούν διαφορετικές διαδικασίες. Είναι σημαντικό να σημειωθεί ότι ο χρήστης μπορεί να διαγραφεί αποτελεσματικά μόνο όταν δεν είναι συνδεδεμένος στο διακομιστή.
Κλείδωμα λογαριασμών χρηστών στο Linux
Ξεκινήστε κλειδώνοντας τον κωδικό πρόσβασης του λογαριασμού χρήστη, έτσι ώστε να μην υπάρχει πρόσβαση για το χρήστη στο σύστημα. Αυτό θα αποτρέψει έναν χρήστη από την εκτέλεση διεργασιών στο σύστημα.
Η εντολή passwd συμπεριλαμβανομένης της επιλογής –lock μπορεί να σας βοηθήσει να το πετύχετε:
# passwd --lock tecmint
Locking password for user tecmint.
passwd: Success
Βρείτε και σκοτώστε όλες τις τρέχουσες διαδικασίες του χρήστη
Στη συνέχεια, ανακαλύψτε όλες τις εκτελούμενες διεργασίες του λογαριασμού χρήστη και εξοντώστε τις προσδιορίζοντας τα PID (Αναγνωριστικά διεργασίας) των διαδικασιών που ανήκουν στον χρήστη χρησιμοποιώντας:
# pgrep -u tecmint
1947
1959
2091
2094
2095
2168
2175
2179
2183
2188
2190
2202
2207
2212
2214
Στη συνέχεια, μπορείτε να απαριθμήσετε τις ενδιάμεσες διεργασίες του ονόματος χρήστη, των PID, των PPID (Αναγνωριστικά γονικής διαδικασίας), του τερματικού που χρησιμοποιείται, της κατάστασης διαδικασίας, της διαδρομής εντολών σε πλήρες στυλ μορφοποίησης με τη βοήθεια της ακόλουθης εντολής όπως φαίνεται:
# ps -f --pid $(pgrep -u tecmint)
UID PID PPID C STIME TTY STAT TIME CMD
tecmint 1947 1 0 10:49 ? SLl 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
tecmint 1959 1280 0 10:49 ? Ssl 0:00 mate-session
tecmint 2091 1959 0 10:49 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint 2094 1 0 10:49 ? S 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint 2095 1 0 10:49 ? Ss 0:00 //bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session
tecmint 2168 1 0 10:49 ? Sl 0:00 /usr/lib/dconf/dconf-service
tecmint 2175 1959 0 10:49 ? Sl 0:02 /usr/bin/mate-settings-daemon
tecmint 2179 1959 0 10:49 ? Sl 0:47 marco
tecmint 2183 1 0 10:49 ? Sl 0:00 /usr/lib/gvfs/gvfsd
tecmint 2188 1959 0 10:49 ? Sl 0:00 mate-panel
tecmint 2190 1 0 10:49 ? Sl 0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
tecmint 2202 1 0 10:49 ? S<l 0:20 /usr/bin/pulseaudio --start --log-target=syslog
tecmint 2207 1959 0 10:49 ? S 0:00 /bin/sh /usr/bin/startcaja
tecmint 2212 1 0 10:49 ? Sl 0:03 /usr/bin/python /usr/lib/linuxmint/mintMenu/mintMenu.py
tecmint 2214 1 0 10:49 ? Sl 0:11 /usr/lib/mate-panel/wnck-applet
....
Μόλις βρείτε όλες τις εκτελούμενες διεργασίες του χρήστη, μπορείτε να χρησιμοποιήσετε την εντολή killall για να σκοτώσετε αυτές τις διεργασίες που εκτελούνται όπως φαίνεται.
killall -9 -u tecmint
Το -9 είναι ο αριθμός σήματος για το σήμα SIGKILL ή χρησιμοποιήστε -KILL αντί για -9 και -u ορίζει το όνομα χρήστη.
Σημείωση: Στις πρόσφατες εκδόσεις των εκδόσεων RedHat/CentOS 7.x και του Fedora 21+, θα λάβετε μήνυμα σφάλματος ως:
-bash: killall: command not found
Για να διορθώσετε ένα τέτοιο σφάλμα, πρέπει να εγκαταστήσετε το πακέτο psmisc όπως φαίνεται:
yum install psmisc [On RedHat/CentOS 7.x]
dnf install psmisc [On Fedora 21+ versions]
Δημιουργία αντιγράφων ασφαλείας δεδομένων χρήστη πριν από τη διαγραφή
Στη συνέχεια, μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας των αρχείων χρηστών, αυτό μπορεί να είναι προαιρετικό, αλλά συνιστάται για μελλοντική χρήση όταν προκύψει ανάγκη για έλεγχο των στοιχείων και των αρχείων του λογαριασμού χρήστη.
Έχω χρησιμοποιήσει τα βοηθητικά προγράμματα tar για να δημιουργήσω ένα αντίγραφο ασφαλείας του αρχικού καταλόγου χρηστών ως εξής:
tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint
Διαγραφή/Κατάργηση λογαριασμού χρήστη και αρχείων
Τώρα μπορείτε να αφαιρέσετε με ασφάλεια τον χρήστη μαζί με τον αρχικό του κατάλογο, για να αφαιρέσετε όλα τα αρχεία χρήστη στο σύστημα χρησιμοποιήστε την επιλογή --remove-all-files
στην παρακάτω εντολή:
deluser --remove-home tecmint [On Debian and its derivatives]
userdel --remove tecmint [On RedHat/CentOS based systems]
Περίληψη
Αυτό έχει να κάνει με την αφαίρεση του χρήστη και του οικιακού καταλόγου του από ένα σύστημα Linux. Πιστεύω ότι ο οδηγός είναι αρκετά εύκολος να ακολουθηθεί, αλλά μπορείτε να εκφράσετε μια ανησυχία ή να προσθέσετε περισσότερη ιδέα αφήνοντας ένα σχόλιο.