Efektywne zarządzanie użytkownikami w systemach Linux jest kluczowe dla bezpieczeństwa i sprawnego działania organizacji. Jednym z istotnych aspektów jest trwałe usunięcie konta użytkownika, co może zapobiec wielu problemom, w tym utracie danych. Jak prawidłowo usunąć użytkownika z systemu linux, jakie są dobre praktyki? Sprawdźmy!
Potrzeba usunięcia użytkownika
Usunięcie konta użytkownika może być konieczne z wielu powodów, takich jak przeniesienie pracownika do innego zespołu czy zakończenie współpracy. Dotyczy to również usunięcia studentów z udostępnionego do projektu np. serwera uczelnianego. Przejdźmy przez najważniejsze polecenia, które pomogą w tym procesie.
Planowanie i weryfikacja
W przypadku, gdy użytkownik (nazwijmy go Janek) nadal pracuje przy komputerze, administrator może sprawdzić zalogowanych użytkowników za pomocą komendy:
who
Warto upewnić się, że zalogowano się na właściwe konto, aby uniknąć pomyłek.
Podgląd uruchomionych procesów:
ps -u janek
Blokowanie konta
Aby zablokować konto, używamy polecenia:
sudo passwd -l janek
To polecenie zmienia hasło użytkownika, dodając wykrzyknik na początku zaszyfrowanego hasła w pliku /etc/shadow, co uniemożliwia ponowne logowanie.
Dobre Praktyki: Zarządzanie Kontami Użytkowników na Linuxie
Zabijanie Procesów
Jednym z najczęściej używanych poleceń do zabijania procesów użytkownika jest pkill. Polecenie to pozwala na zakończenie procesów użytkownika Janek za pomocą sygnału KILL:
sudo pkill -KILL -u janek
Po wykonaniu tej komendy użytkownik Janek zostanie wylogowany, a jego procesy zatrzymane.
Archiwizacja Katalogu Domowego Użytkownika
Aby zachować dane użytkownika na przyszłość, można zarchiwizować jego katalog domowy przy użyciu polecenia tar:
sudo tar cfjv janek-20230502.tar.bz2 /home/janek
To polecenie tworzy skompresowane archiwum, które można skopiować do bezpiecznej lokalizacji.
Usuwanie Zadań Cron
Warto sprawdzić, czy dla konta użytkownika Janek zaplanowane są zadania cron, które można usunąć za pomocą:
sudo crontab -r -u janek
Zapewnia to, że nie pozostaną żadne niechciane zadania w harmonogramie. Oczywiście, wcześniej warto się upewnić, czy nie ma tam istotnych zadań, wartych archiwizacji.
Dlaczego to ważne aby usunąć? Użytkownik mógł pozostawić tam złośliwy skrypt.
Weryfikacja i usuwanie konta w Linux
Po wykonaniu wszystkich czynności można definitywnie usunąć konto użytkownika. W zależności od dystrybucji Linuxa używamy:
sudo deluser --remove-home janek
lub
sudo userdel -r janek
To polecenie usuwa konto wraz z katalogiem domowym.

Fajnie, tylko dość ubogo. Jeśli mówimy tylko o koncie dla powłoki to owszem.
Ale jeśli ta maszyna ma serwery poczty, plików i masę innych to powyższe zbyt dużo nie usunie. Poważny admin ma do tego skrypt, a niezbyt poważny zaczyna od używania sudo.
Całkowicie się zgadzam. Natomiast rzadko kiedy obecnie użytkuje się pocztę w ten sposób. Oczywiście jest wiele serwerów (np. na uczelniach), gdzie tak zapewne jest. Skrypt do usuwania jest świetnym sposobem, aby idealnie dopasować go do własnego środowiska i wszystkich usług, które są w kontekście użytkownika uruchomione. Dziękuję za tę dość istotną uwagę. Myślę, że rozbuduję ten wpis w przyszłości. Do uwzględnienia:
1. baz danych usług (Samba – smbpasswd, MySQL/PostgreSQL role, jeśli user miał tam osobne konto)
2. Dovecot/Postfix, jeśli maildir albo konfiguracja jest poza standardowym /var/mail
3. crontabs w /var/spool/cron, jeśli dystrybucja nie usuwa ich automatycznie
4. procesów usera wciąż działających w tle (pkill -u przed usunięciem to często pomijany krok)
5. plików rozrzuconych poza $HOME, do których user miał uprawnienia (find -user na całym systemie)
6. kluczy SSH w authorized_keys innych kont, sudoers.d, ACL-i
7. ról w Samba AD / LDAP, jeśli maszyna jest częścią czegoś większego (Samba DC to zupełnie inna liga niż lokalny userdel)
Sensowne postawienie sprawy: dla czystej maszyny z powłoką – userdel -r wystarczy. Dla serwera pełniącego kilka ról naraz – albo checklist, albo skrypt (co zresztą sam napisałeś), który przechodzi po wszystkich usługach po kolei. Trzymanie tego w głowie „na pałę” faktycznie kończy się tym, że ktoś odchodzi z firmy, a jego maildir albo cronjob zostaje żywy jeszcze pół roku.