Wyszukiwanie w witrynie

Jak usunąć konta użytkowników z katalogiem domowym w systemie Linux


W tym samouczku przeprowadzę Cię przez kroki, których możesz użyć, aby usunąć konto użytkownika wraz z jego katalogiem domowym w systemie Linux.

Aby dowiedzieć się, jak tworzyć konta użytkowników i zarządzać nimi w systemach Linux, przeczytaj następujące artykuły, korzystając z poniższych łączy:

  1. 15 przykładów poleceń „useradd” do zarządzania kontami użytkowników w systemie Linux
  2. 15 przykładów poleceń „usermod” do zmiany/modyfikowania nazw kont użytkowników w systemie Linux
  3. Jak zarządzać użytkownikami i grupami za pomocą uprawnień do plików w systemie Linux

Jako administrator systemu w systemie Linux być może będziesz musiał usunąć konta użytkowników po pewnym czasie, gdy konto użytkownika może stać się uśpione na tak długi czas lub użytkownik może opuścić organizację lub firmę lub z innego powodu.

Podczas usuwania kont użytkowników w systemie Linux ważne jest również usunięcie ich katalogu domowego, aby zwolnić miejsce na urządzeniach pamięci masowej dla nowych użytkowników systemu lub innych usług.

Usuwanie/usuwanie konta użytkownika z jego/jej katalogiem domowym

1. W celach demonstracyjnych najpierw zacznę od utworzenia dwóch kont użytkowników w moim systemie, użytkownika tecmint i użytkownika linuxsay z ich katalogami domowymi Odpowiednio /home/tecmint i /home/linusay za pomocą polecenia adduser.

adduser tecmint
passwd tecmint

adduser linuxsay
passwd linuxsay

Na powyższym zrzucie ekranu użyłem polecenia adduser do utworzenia kont użytkowników w systemie Linux. Możesz także użyć polecenia useradd, oba są takie same i wykonują to samo zadanie.

2. Przejdźmy teraz dalej, aby zobaczyć, jak usunąć lub usunąć konta użytkowników w systemie Linux za pomocą deluser (dla Debiana i jego pochodnych) i userdel ( Dla systemów opartych na RedHat/CentOS).

Dyrektywy znajdujące się w pliku konfiguracyjnym poleceń deluser i userdel określają, w jaki sposób będzie on obsługiwał wszystkie pliki i katalogi użytkownika po uruchomieniu polecenia.

Przyjrzyjmy się plikowi konfiguracyjnemu polecenia deluser, którym jest /etc/deluser.conf w pochodnych Debiana, takich jak Ubuntu, Kali, Mint i dla RHEL/CentOS/Fedora użytkowników, możesz przeglądać pliki /etc/login.defs.

Wartości w tej konfiguracji są domyślne i można je zmienić w zależności od potrzeb.

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

3. Aby usunąć użytkownika z katalogiem domowym, możesz skorzystać z zaawansowanego sposobu, wykonując poniższe kroki na serwerze z systemem Linux. Gdy użytkownicy są zalogowani na serwerze, korzystają z usług i uruchamiają różne procesy. Należy pamiętać, że użytkownika można skutecznie usunąć tylko wtedy, gdy nie jest on zalogowany na serwerze.

Zablokuj konta użytkowników w systemie Linux

Zacznij od zablokowania hasła do konta użytkownika, tak aby użytkownik nie miał dostępu do systemu. Uniemożliwi to użytkownikowi uruchamianie procesów w systemie.

Polecenie passwd zawierające opcję –lock może pomóc w osiągnięciu tego celu:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Znajdź i zabij wszystkie uruchomione procesy użytkownika

Następnie znajdź wszystkie uruchomione procesy konta użytkownika i zabij je, ustalając PID (Identyfikatory procesów) procesów posiadanych przez użytkownika za pomocą:

# pgrep -u tecmint

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

Następnie możesz wyświetlić listę parametrów procesów zawierającą nazwę użytkownika, PID, PPID (identyfikatory procesów nadrzędnych), używany terminal, stan procesu, ścieżkę poleceń w pełnym stylu formatowania za pomocą następującego polecenia, jak pokazano:

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

Po znalezieniu wszystkich uruchomionych procesów użytkownika możesz użyć polecenia killall, aby zakończyć te uruchomione procesy, jak pokazano.

killall -9 -u tecmint

-9 to numer sygnału dla sygnału SIGKILL lub użyj -KILL zamiast -9 i -u definiuje nazwę użytkownika.

Uwaga: w najnowszych wydaniach wersji RedHat/CentOS 7.x i Fedory 21+ pojawi się komunikat o błędzie w postaci:

-bash: killall: command not found

Aby naprawić taki błąd, musisz zainstalować pakiet psmisc, jak pokazano:

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

Utwórz kopię zapasową danych użytkownika przed usunięciem

Następnie możesz wykonać kopię zapasową plików użytkowników. Może to być opcjonalne, ale jest zalecane do wykorzystania w przyszłości, gdy zajdzie potrzeba przejrzenia szczegółów konta użytkownika i plików.

Użyłem narzędzi tar do utworzenia kopii zapasowej katalogu domowego użytkowników w następujący sposób:

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

Usuń/Usuń konto użytkownika i pliki

Teraz możesz bezpiecznie usunąć użytkownika wraz z jego katalogiem domowym. Aby usunąć wszystkie pliki użytkownika z systemu użyj opcji --remove-all-files w poleceniu poniżej:

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

Streszczenie

To wszystko ma związek z usunięciem użytkownika i jego katalogu domowego z systemu Linux. Uważam, że przewodnik jest wystarczająco łatwy do zrozumienia, ale możesz wyrazić swoje wątpliwości lub dodać więcej pomysłów, zostawiając komentarz.