Kuinka poistaa käyttäjätilit kotihakemistolla Linuxissa


Tässä opetusohjelmassa aion käydä läpi vaiheet, joiden avulla voit poistaa käyttäjän tilin yhdessä hänen kotihakemistonsa kanssa Linux-järjestelmässä.

Jos haluat oppia luomaan käyttäjätilejä ja hallitsemaan niitä Linux-järjestelmissä, lue seuraavat artikkelit alla olevista linkeistä:

  1. 15 “useradd” komentoesimerkkiä käyttäjätilien hallintaan Linuxissa
  2. 15 “usermod” komentoesimerkkiä käyttäjätilien nimien muuttamiseen/muokkaamiseen Linuxissa
  3. Käyttäjien ja ryhmien hallinta tiedostooikeuksilla Linuxissa

Järjestelmänvalvojana Linuxissa saatat joutua poistamaan käyttäjätilit sen jälkeen, kun käyttäjätili saattaa jäädä lepotilaksi niin pitkäksi ajaksi tai käyttäjä voi lähteä organisaatiosta tai yrityksestä tai mistä tahansa muusta syystä.

Kun poistat käyttäjätilejä Linux-järjestelmästä, on myös tärkeää poistaa heidän kotihakemistonsa, jotta tallennuslaitteista vapautuu tilaa uusille järjestelmän käyttäjille tai muille palveluille.

Käyttäjätilin poistaminen/poistaminen hänen kotihakemistostaan

1. Esittelytarkoituksessa aloitan ensin luomalla järjestelmääni kaksi käyttäjätiliä, jotka ovat käyttäjä tecmint ja käyttäjä linuxsay kotihakemistoineen /home/tecmint ja /home/linusay käyttämällä adduser-komentoa.

adduser tecmint
passwd tecmint

adduser linuxsay
passwd linuxsay

Yllä olevasta kuvakaappauksesta olen käyttänyt adduser-komentoa käyttäjätilien luomiseen Linuxissa. Voit myös käyttää useradd-komentoa, molemmat ovat samoja ja tekevät saman työn.

2. Siirrytään nyt pidemmälle ja katsotaan, kuinka voit poistaa tai poistaa käyttäjätilejä Linuxissa käyttämällä deluser (Debianille ja sen johdannaisille) ja userdel ( RedHat/CentOS-pohjaisille järjestelmille) -komento.

deluser- ja userdel-komentojen määritystiedoston sisällä olevat käskyt määrittävät, kuinka se käsittelee kaikkia käyttäjätiedostoja ja hakemistoja, kun suoritat komennon.

Katsotaanpa deluser-komennon asetustiedostoa, joka on /etc/deluser.conf Debian-johdannaisissa, kuten Ubuntu, Kali, Mint ja RHEL/CentOS/Fedora. käyttäjille, voit tarkastella /etc/login.defs-tiedostoja.

Näiden kokoonpanojen arvot ovat oletusarvoja, ja niitä voidaan muuttaa tarpeidesi mukaan.

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

3. Voit poistaa käyttäjän, jolla on kotihakemisto, käyttämällä edistynyttä tapaa noudattamalla näitä ohjeita Linux-palvelinkoneellasi. Kun käyttäjät ovat kirjautuneena palvelimelle, he käyttävät palveluita ja suorittavat erilaisia prosesseja. On tärkeää huomata, että käyttäjä voidaan poistaa tehokkaasti vain, jos hän ei ole kirjautunut palvelimelle.

Lukitse käyttäjätilit Linuxissa

Aloita lukitsemalla käyttäjätilin salasana, jotta käyttäjällä ei ole pääsyä järjestelmään. Tämä estää käyttäjää suorittamasta prosesseja järjestelmässä.

passwd-komento, joka sisältää vaihtoehdon –lock, voi auttaa sinua saavuttamaan tämän:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Etsi ja lopeta kaikki käyttäjän käynnissä olevat prosessit

Selvitä seuraavaksi kaikki käyttäjätilin käynnissä olevat prosessit ja lopeta ne määrittämällä käyttäjän omistamien prosessien PID:t (Prosessitunnukset) käyttämällä:

# pgrep -u tecmint

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

Sitten voit listata käyttäjänimen, PID:n, PPID:n (Parent Process ID:t), käytetyn päätteen, prosessin tilan, komentopolun prosessivälit täydellä muotoilutyylillä seuraavan komennon avulla kuten kuvassa:

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

Kun löydät kaikki käyttäjän käynnissä olevat prosessit, voit käyttää killall-komentoa tappaaksesi käynnissä olevat prosessit kuvan mukaisesti.

killall -9 -u tecmint

-9 on signaalin numero SIGKILL-signaalille tai käytä -KILL-merkkiä -9 ja sijaan. >-u määrittää käyttäjänimen.

Huomaa: RedHat/CentOS 7.x- ja Fedora 21+ -versioiden viimeaikaisissa julkaisuissa saat seuraavanlaisen virheilmoituksen:

-bash: killall: command not found

Korjataksesi tällaisen virheen sinun on asennettava psmisc-paketti kuvan mukaisesti:

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

Varmuuskopioi käyttäjätiedot ennen poistamista

Seuraavaksi voit varmuuskopioida käyttäjien tiedostot, tämä voi olla valinnaista, mutta sitä suositellaan käytettäväksi myöhempään käyttöön, kun on tarvetta tarkastella käyttäjätilin tietoja ja tiedostoja.

Olen käyttänyt tar-apuohjelmia varmuuskopion luomiseen käyttäjien kotihakemistosta seuraavasti:

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

Poista/poista käyttäjätili ja tiedostot

Nyt voit turvallisesti poistaa käyttäjän yhdessä hänen kotihakemistonsa kanssa. Poista kaikki käyttäjätiedostot järjestelmästä käyttämällä --remove-all-files -vaihtoehtoa alla olevassa komennossa:

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

Yhteenveto

Tämä kaikki liittyy käyttäjän ja hänen kotihakemistonsa poistamiseen Linux-järjestelmästä. Uskon, että opas on tarpeeksi helppo seurata, mutta voit ilmaista huolesi tai lisätä ideoita jättämällä kommentin.