GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit uživatelské účty pomocí domovského adresáře v systému Linux

V tomto tutoriálu vás provedu kroky, které můžete použít k odstranění uživatelského účtu spolu s jeho domovským adresářem v systému Linux.

Chcete-li se dozvědět, jak vytvářet uživatelské účty a spravovat je v systémech Linux, přečtěte si následující články z níže uvedených odkazů:

  1. 15 příkladů příkazů „useradd“ pro správu uživatelských účtů v systému Linux
  2. 15 příkladů příkazů „usermod“ pro změnu/úpravu názvů uživatelských účtů v systému Linux
  3. Jak spravovat uživatele a skupiny pomocí oprávnění k souborům v systému Linux

Jako Správce systému v Linuxu možná budete muset odebrat uživatelský účet po určité době, kdy může být uživatelský účet tak dlouho nečinný, nebo uživatel může opustit organizaci nebo společnost nebo z jiných důvodů.

Při odstraňování uživatelských účtů v systému Linux je také důležité odstranit jejich domovský adresář, abyste uvolnili místo na úložných zařízeních pro nové uživatele systému nebo jiné služby.

Smazání/odstranění uživatelského účtu s jeho/její domovským adresářem

1. Pro účely demonstrace nejprve začnu vytvořením dvou uživatelských účtů v mém systému, kterým je uživatel tecmint a uživatel linuxsay s jejich domovskými adresáři /home/tecmint a /home/linusay respektive pomocí adduser příkaz.

# adduser tecmint
# passwd tecmint

# adduser linuxsay
# passwd linuxsay

Z výše uvedeného snímku obrazovky jsem použil adduser příkaz k vytvoření uživatelských účtů v systému Linux. Můžete také použít useradd oba jsou stejné a dělají stejnou práci.

2. Pojďme nyní dále, abychom viděli, jak odstranit nebo odebrat uživatelské účty v Linuxu pomocí deluser (Pro Debian a jeho deriváty) a userdel (Pro systémy založené na RedHat/CentOS) příkaz.

Direktivy v konfiguračním souboru pro deluser a userdel příkazy určují, jak to bude zpracovávat všechny uživatelské soubory a adresář, když příkaz spustíte.

Podívejme se na konfigurační soubor pro deluser příkaz, kterým je /etc/deluser.conf na derivátech Debianu, jako je Ubuntu, Kali, Mint a pro uživatele RHEL/CentOS/Fedora, si můžete prohlédnout /etc/login.defs soubory.

Hodnoty v této konfiguraci jsou výchozí a lze je změnit podle vašich potřeb.

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

3. Chcete-li odstranit uživatele s domovským adresářem, můžete použít pokročilý způsob podle následujících kroků na vašem počítači se serverem Linux. Když jsou uživatelé přihlášeni k serveru, používají služby a spouštějí různé procesy. Je důležité si uvědomit, že uživatele lze efektivně smazat pouze tehdy, když není přihlášen k serveru.

Zamknout uživatelské účty v systému Linux

Začněte uzamčením hesla uživatelského účtu, aby uživatel neměl přístup do systému. To zabrání uživateli spouštět procesy v systému.

heslo příkaz včetně –lock Tato možnost vám může pomoci dosáhnout:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Najít a zabít všechny běžící procesy uživatele

Dále zjistěte všechny běžící procesy uživatelského účtu a zrušte je určením PID (ID procesů ) procesů vlastněných uživatelem pomocí:

# pgrep -u tecmint

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

Poté můžete pomocí následujícího příkazu vypsat seznam procesů jako uživatelské jméno, PID, PPID (ID rodičovského procesu), použitý terminál, stav procesu, cestu příkazu v plném formátu:

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

Jakmile najdete všechny běžící procesy uživatele, můžete pomocí příkazu killall tyto běžící procesy zabít, jak je znázorněno.

# killall -9 -u tecmint

-9 je číslo signálu pro SIGKILL signál nebo použijte -KILL místo -9 a -u definuje uživatelské jméno.

Poznámka :V posledních vydáních verzí RedHat/CentOS 7.x a Fedora 21+ se zobrazí chybová zpráva:

-bash: killall: command not found

Chcete-li takovou chybu opravit, musíte nainstalovat balíček psmisc, jak je znázorněno:

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

Zálohujte uživatelská data před smazáním

Dále můžete zálohovat soubory uživatelů, to může být volitelné, ale doporučuje se to pro budoucí použití, když bude potřeba zkontrolovat podrobnosti o uživatelském účtu a soubory.

Použil jsem nástroje tar k vytvoření zálohy domovského adresáře uživatelů následovně:

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

Smazat/odebrat uživatelský účet a soubory

Nyní můžete bezpečně odebrat uživatele spolu s jeho domovským adresářem, k odstranění všech uživatelských souborů v systému použijte --remove-all-files možnost v příkazu níže:

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

Shrnutí

To vše souvisí s odstraněním uživatele a jeho domovského adresáře ze systému Linux. Domnívám se, že návod lze snadno sledovat, ale můžete vyjádřit své obavy nebo přidat další nápad zanecháním komentáře.


Linux
  1. Přidat uživatele do skupiny v Linuxu, jak na to (s příklady)

  2. Jak odstranit adresář a složku v Linuxu?

  3. Jak spravovat uživatele pomocí useradd v linuxu

  1. Jak vytvořit více uživatelských účtů v Linuxu

  2. UNIX / Linux :Jak odstranit ekvivalentního uživatele root (uživatel jiného typu než root s UID 0)

  3. Jak zkopíruji soubor/složku z domovského adresáře jiného uživatele v Linuxu?

  1. Jak vytvořit a odstranit uživatelskou skupinu v Linuxu

  2. Jak vytvořit uživatele s vlastním domovským adresářem v Linuxu

  3. Jak mohu automatizovat vymazání a resetování domovského adresáře uživatele systému Linux na výchozí?