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 odkazů níže:
- 15 Příklady příkazů „useradd“ pro správu uživatelských účtů v systému Linux
- 15 Příklady příkazů „usermod“ pro změnu/úpravu názvů uživatelských účtů v systému Linux
- 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 může uživatel 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ými jsou uživatel tecmint a uživatel linuxsay s jejich domovskými adresáři. /home/tecmint a /home/linusay pomocí příkazu adduser.
adduser tecmint
passwd tecmint
adduser linuxsay
passwd linuxsay
Z výše uvedeného snímku obrazovky jsem použil příkaz adduser k vytvoření uživatelských účtů v systému Linux. Můžete také použít příkaz 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).
Direktivy v konfiguračním souboru pro příkazy deluser a userdel 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 příkaz deluser, který je /etc/deluser.conf
na derivátech Debianu, jako je Ubuntu, Kali, Mint a pro RHEL/CentOS/Fedora uživatelé si můžete prohlédnout soubory /etc/login.defs
.
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ě odstranit pouze tehdy, když není přihlášen k serveru.
Uzamknout uživatelské účty v Linuxu
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.
Příkaz passwd včetně možnosti –lock vám toho může pomoci:
# 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 vypsat procesy mezi 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 formátování pomocí následujícího příkazu, jak je znázorněno:
# 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 použít příkaz killall k ukončení těchto běžících procesů, jak je znázorněno.
killall -9 -u tecmint
-9 je číslo signálu pro signál SIGKILL 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 jako:
-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]
Před smazáním zálohujte uživatelská data
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ž nastane potřeba zkontrolovat detaily uživatelského úč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 volbu --remove-all-files
v příkazu níže:
deluser --remove-home tecmint [On Debian and its derivatives]
userdel --remove tecmint [On RedHat/CentOS based systems]
souhrn
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.