Slik sletter du brukerkontoer med hjemmekatalog i Linux


I denne opplæringen skal jeg gå gjennom trinnene du kan bruke for å slette en brukers konto sammen med hans/hennes hjemmekatalog på et Linux-system.

For å lære hvordan du oppretter brukerkontoer og administrerer dem på Linux-systemer, les følgende artikler fra lenkene nedenfor:

  1. 15 “useradd” kommandoeksempler for å administrere brukerkontoer i Linux
  2. 15 “usermod” kommandoeksempler for å endre/endre brukerkontonavn i Linux
  3. Hvordan administrere brukere og grupper med filtillatelser i Linux

Som systemadministrator i Linux, kan det hende du må fjerne brukerkontoen etter en tid når en brukerkonto kan bli sovende så lenge, eller brukeren kan forlate organisasjonen eller selskapet eller andre grunner.

Når du fjerner brukerkontoer på et Linux-system, er det også viktig å fjerne hjemmekatalogen deres for å frigjøre plass på lagringsenhetene for nye systembrukere eller andre tjenester.

Slette/fjerne en brukerkonto med hans/hennes hjemmekatalog

1. For demonstrasjonsformål vil jeg først starte med å opprette to brukerkontoer på systemet mitt som er bruker tecmint og bruker linuxsay med deres hjemmekataloger /home/tecmint og /home/linusay henholdsvis ved å bruke kommandoen adduser.

adduser tecmint
passwd tecmint

adduser linuxsay
passwd linuxsay

Fra skjermbildet ovenfor har jeg brukt kommandoen adduser for å opprette brukerkontoer på Linux. Du kan også bruke kommandoen useradd, begge er like og gjør samme jobb.

2. La oss nå gå videre for å se hvordan du sletter eller fjerner brukerkontoer i Linux ved å bruke deluser (for Debian og dets derivater) og userdel ( For RedHat/CentOS-baserte systemer) kommando.

Direktivene i konfigurasjonsfilen for kommandoene deluser og userdel bestemmer hvordan dette vil håndtere alle brukerfiler og kataloger når du kjører kommandoen.

La oss se på konfigurasjonsfilen for deluser-kommandoen som er /etc/deluser.conf på Debian-derivater som Ubuntu, Kali, Mint og for RHEL/CentOS/Fedora brukere, kan du se /etc/login.defs-filene.

Verdiene i disse konfigurasjonene er standard og kan endres i henhold til dine behov.

vi /etc/deluser.conf         [On Debian and its derivatives]
vi /etc/login.defs           [On RedHat/CentOS based systems]

3. For å slette en bruker med hjemmekatalog, kan du bruke den avanserte måten ved å følge disse trinnene på din Linux-servermaskin. Når brukere er logget på serveren, bruker de tjenester og kjører forskjellige prosesser. Det er viktig å merke seg at brukere kun kan slettes effektivt når de ikke er logget på serveren.

Lås brukerkontoer i Linux

Start med å låse brukerkontopassordet slik at det ikke er tilgang for brukeren til systemet. Dette vil hindre en bruker fra å kjøre prosesser på systemet.

Kommandoen passwd inkludert –lock-alternativet kan hjelpe deg med å oppnå dette:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Finn og drep alle kjørende prosesser til brukeren

Finn deretter ut alle kjørende prosesser for brukerkontoen og drep dem ved å bestemme PID-ene (Prosess-ID-ene) for prosessene som eies av brukeren ved å bruke:

# pgrep -u tecmint

1947
1959
2091
2094
2095
2168
2175
2179
2183
2188
2190
2202
2207
2212
2214

Deretter kan du liste opp prosessinterms for brukernavn, PID-er, PPID-er (foreldreprosess-ID-er), terminal brukt, prosesstilstand, kommandobane i en fullformateringsstil ved hjelp av følgende kommando som vist:

# 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
....

Når du har funnet alle de kjørende prosessene til brukeren, kan du bruke killall-kommandoen til å drepe de kjørende prosessene som vist.

killall -9 -u tecmint

-9 er signalnummeret for SIGKILL-signalet eller bruk -KILL i stedet for -9 og >-u definerer brukernavn.

Merk: I nyere utgivelser av RedHat/CentOS 7.x-versjoner og Fedora 21+ vil du få feilmelding som:

-bash: killall: command not found

For å fikse en slik feil, må du installere psmisc-pakken som vist:

yum install psmisc       [On RedHat/CentOS 7.x]
dnf install psmisc       [On Fedora 21+ versions]

Sikkerhetskopier brukerdata før sletting

Deretter kan du sikkerhetskopiere brukerfiler, dette kan være valgfritt, men det anbefales for fremtidig bruk når det oppstår behov for å gjennomgå brukerkontodetaljer og filer.

Jeg har brukt tar-verktøyene til å lage en sikkerhetskopi av brukernes hjemmekatalog som følger:

tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint

Slett/fjern brukerkonto og filer

Nå kan du trygt fjerne brukeren sammen med hans/hennes hjemmekatalog, for å fjerne alle brukerfiler på systemet, bruk --remove-all-files-alternativet i kommandoen nedenfor:

deluser --remove-home tecmint      [On Debian and its derivatives]
userdel --remove tecmint           [On RedHat/CentOS based systems]

Sammendrag

Det er alt å gjøre med å fjerne brukeren og deres hjemmekatalog fra et Linux-system. Jeg tror veiledningen er lett nok å følge, men du kan gi uttrykk for en bekymring eller legge til flere ideer ved å legge igjen en kommentar.