Πώς να διαγράψετε λογαριασμούς χρηστών με τον Home Directory στο Linux


Σε αυτό το σεμινάριο, θα ακολουθήσω τα βήματα που μπορείτε να χρησιμοποιήσετε για να διαγράψετε τον λογαριασμό ενός χρήστη μαζί με τον οικιακό κατάλογο του/της σε ένα σύστημα Linux.

Για να μάθετε πώς να δημιουργείτε λογαριασμούς χρηστών και να τους διαχειρίζεστε σε συστήματα Linux, διαβάστε τα παρακάτω άρθρα από τους παρακάτω συνδέσμους:

  1. 15 Παραδείγματα εντολών «useradd» για τη διαχείριση λογαριασμών χρηστών στο Linux
  2. 15 Παραδείγματα εντολών "usermod" για αλλαγή/τροποποίηση ονομάτων λογαριασμού χρήστη στο Linux
  3. Πώς να διαχειριστείτε χρήστες και ομάδες με δικαιώματα αρχείων στο 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. Πιστεύω ότι ο οδηγός είναι αρκετά εύκολος να ακολουθηθεί, αλλά μπορείτε να εκφράσετε μια ανησυχία ή να προσθέσετε περισσότερη ιδέα αφήνοντας ένα σχόλιο.