Jak odstranit uživatele v systému Linux (a odebrat všechny stopy)

Odstranění uživatele v systému Linux zahrnuje více, než si myslíte. Pokud jste správce systému, budete chtít očistit všechny stopy účtu a jeho přístupu ze svých systémů. Ukážeme vám kroky, které musíte podniknout.

Pokud chcete pouze odstranit uživatelský účet ze systému a nemáte obavy z ukončení spuštěných procesů a dalších úkolů čištění, postupujte podle pokynů v části „Odstranění uživatelského účtu“ níže. Budete potřebovat deluserpříkaz v distribucích založených na Debianu a userdelpříkaz v jiných distribucích Linuxu.

Uživatelské účty v systému Linux

Od té doby, co se na počátku šedesátých let objevily první systémy pro sdílení času, které s sebou přinesly schopnost více uživatelů pracovat na jednom počítači, je potřeba izolovat a rozdělit soubory a data každého uživatele od všech ostatních uživatelů. A tak se zrodily uživatelské účty - a hesla.

Uživatelské účty mají správní režii. Musí být vytvořeny, když uživatel poprvé potřebuje přístup k počítači. Pokud tento přístup již není vyžadován, je třeba je odstranit. V systému Linux existuje řada kroků, které je třeba dodržet, aby bylo možné správně a metodicky odebrat uživatele, jeho soubory a účet z počítače.

Pokud jste správcem systému, odpovědnost nese vás. Zde je návod, jak na to.

Náš scénář

Existuje mnoho důvodů, proč může být potřeba účet smazat. Zaměstnanec možná přechází do jiného týmu nebo úplně opouští společnost. Účet mohl být zřízen pro krátkodobou spolupráci s návštěvníkem z jiné společnosti. Týmy jsou běžné na akademické půdě, kde se výzkumné projekty mohou týkat oddělení, různých univerzit a dokonce i komerčních subjektů. Na konci projektu musí správce systému provést úklid a odstranit nepotřebné účty.

Nejhorší scénář je, když někdo kvůli přestupku odejde pod mrak. Takové události se obvykle stávají náhle, s malým varováním předem. To dává správci systému velmi málo času na plánování a naléhavost, aby byl účet uzamčen, uzavřen a odstraněn - s kopií souborů uživatele zálohovaných pro případ, že by byly potřebné pro jakoukoli forenzní analýzu po uzavření.

V našem scénáři budeme předstírat, že uživatel Eric udělal něco, co zaručuje jeho okamžité odstranění z areálu. V tuto chvíli o tom neví, stále pracuje a je přihlášen. Jakmile přikývnete na zabezpečení, bude z domu vyveden.

Všechno je nastaveno. Všechny oči jsou na vás.

Zkontrolujte přihlášení

Uvidíme, jestli je skutečně přihlášen, a pokud ano, kolik relací pracuje. whoPříkaz vypíše aktivní relace.

SZO

Eric je přihlášen jednou. Podívejme se, jaké procesy běží.

Kontrola procesů uživatele

psPříkaz můžeme použít k vypsání procesů, které tento uživatel spouští. Možnost -u(uživatel) nám umožňuje říct, psabychom omezili jeho výstup na procesy běžící ve vlastnictví daného uživatelského účtu.

ps -u eric

Pomocí toppříkazu můžeme vidět stejné procesy s více informacemi . top má také možnost -U(uživatel) omezit výstup na procesy vlastněné jedním uživatelem. Všimněte si, že tentokrát jde o velká písmena „U“.

top -U eric

Můžeme vidět využití paměti a CPU každého úkolu a můžeme rychle vyhledat cokoli s podezřelou aktivitou. Chystáme se násilně zabít všechny jeho procesy, takže je nejbezpečnější věnovat chvíli rychlou kontrolu procesů a zkontrolovat a ujistit se, že ostatní uživatelé nebudou při ukončení ericprocesů uživatelského účtu obtěžováni .

Vypadá to, že toho moc nedělá, jen pomocí  lessprohlížení souboru. Jsme v bezpečí. Ale než zabijeme jeho procesy, zmrazíme účet uzamčením hesla.

SOUVISEJÍCÍ: Jak používat příkaz ps ke sledování procesů Linux

Zamknutí účtu

Před zabitím procesů účet uzamkneme, protože když procesy zabijeme, odhlásí uživatele. Pokud jsme již změnili jeho heslo, nebude se moci znovu přihlásit.

Šifrovaná uživatelská hesla jsou uložena v /etc/shadowsouboru. S těmito dalšími kroky byste se za normálních okolností neobtěžovali, ale abyste viděli, co se v /etc/shadow souboru stane, když uzamknete účet, uděláme mírnou objížďku. Pomocí následujícího příkazu se můžeme podívat na první dvě pole položky pro  eric uživatelský účet.

sudo awk -F: '/ eric / {print $ 1, $ 2}' / etc / shadow

Příkaz awk analyzuje pole z textových souborů a volitelně s nimi manipuluje. Pomocí možnosti -F(oddělovač polí) zjistíme awk, že soubor používá :k oddělení polí dvojtečku . Budeme hledat řádek se vzorem „eric“. Pro shodu řádků vytiskneme první a druhé pole. Jedná se o název účtu a šifrované heslo.

Vytiskne se nám položka pro uživatelský účet eric.

K uzamčení účtu používáme passwdpříkaz. Použijeme -lmožnost (uzamknout) a předáme jméno uživatelského účtu k uzamčení.

sudo passwd -l eric

Pokud /etc/passwdsoubor znovu zkontrolujeme , uvidíme, co se stalo.

sudo awk -F: '/ eric / {print $ 1, $ 2}' / etc / shadow

Na začátek šifrovaného hesla byl přidán vykřičník. Nepřepíše první znak, pouze se přidá na začátek hesla. To je vše, co je požadováno, aby se zabránilo uživateli v přihlášení k tomuto účtu.

Nyní, když jsme zabránili uživateli v opětovném přihlášení, můžeme zabít jeho procesy a odhlásit ho.

Zabíjení procesů

Existují různé způsoby, jak zabít procesy uživatele, ale zde zobrazený příkaz je široce dostupný a je modernější implementací než některé z alternativ. pkillPříkaz najít a zabít procesy. Předáváme signál ZABÍJENÍ a používáme možnost -u(uživatel).

sudo pkill -KILL -u eric

Jste rozhodně protiklimatickým způsobem vráceni na příkazový řádek. Abychom se ujistili, že se něco stalo, zkontrolujte to whoznovu:

SZO

Jeho sezení je pryč. Byl odhlášen a jeho procesy byly zastaveny. To ze situace odstranilo část naléhavosti. Nyní si můžeme trochu odpočinout a pokračovat se zbytkem vyčištění, když se bezpečnost dostane k Ericovu stolu.

SOUVISEJÍCÍ: Jak zabít procesy z terminálu Linux

Archivace domovského adresáře uživatele

Není vyloučeno, že v takovém scénáři bude v budoucnu vyžadován přístup k souborům uživatele. Buď jako součást vyšetřování, nebo jednoduše proto, že jejich nahrazení bude možná muset odkazovat zpět na práci jejich předchůdce. tarPříkaz použijeme k archivaci celého jejich domovského adresáře.

Možnosti, které používáme, jsou:

  • c : Vytvořte archivní soubor.
  • f : Jako název archivu použijte zadaný název souboru.
  • j : Použijte kompresi bzip2.
  • v : Poskytnout podrobný výstup při vytváření archivu.
sudo tar cfjv eric-20200820.tar.bz / home / eric

V okně terminálu bude rolovat spousta výstupů na obrazovku. Chcete-li zkontrolovat, zda byl archiv vytvořen, použijte lspříkaz. Používáme možnosti -l(dlouhý formát) a -h(čitelné člověkem).

ls -lh eric-20200802.tar.bz

Byl vytvořen soubor 722 MB. To lze zkopírovat někam na bezpečné místo pro pozdější kontrolu.

Odebírání úloh cron

Raději bychom měli zkontrolovat, zda jsou cronpro uživatelský účet naplánovány nějaké úlohy eric. cronÚkolem je příkaz, který se spouští ve stanovených časech nebo intervalech. Můžeme zkontrolovat, zda jsou cronpro tento uživatelský účet naplánovány nějaké úlohy, pomocí ls:

sudo ls -lh / var / spool / cron / crontabs / eric

Pokud v tomto umístění něco existuje, znamená to, že cronpro tento uživatelský účet jsou ve frontě úlohy. Tímto crontabpříkazem je můžeme odstranit . Možnost -r(remove) odstraní úlohy a -uvolba (user) řekne, crontabčí úlohy mají být odebrány.

sudo crontab -r -u eric

Úlohy jsou tiše odstraněny. Všechno, co víme, kdyby měl Eric podezření, že bude vystěhován, mohl naplánovat škodlivou práci. Tento krok je osvědčeným postupem.

Odebírání tiskových úloh

Možná měl uživatel nevyřízené tiskové úlohy? Pro jistotu můžeme vyčistit tiskovou frontu všech úloh patřících k uživatelskému účtu eric. lprmPříkaz odebere úlohy z tiskové fronty. Možnost -U(uživatelské jméno) umožňuje odebrat úlohy vlastněné pojmenovaným uživatelským účtem:

lprm -U eric

Úlohy jsou odstraněny a vy se vrátíte na příkazový řádek.

Odstranění uživatelského účtu

Soubory z /home/eric/adresáře jsme již zálohovali , takže můžeme pokračovat a smazat uživatelský účet a smazat /home/eric/adresář současně.

Příkaz, který chcete použít, závisí na tom, jakou distribuci Linuxu používáte. Pro distribuce Linuxu založené na Debianu je příkaz delusera pro zbytek světa Linux je userdel.

Ve skutečnosti jsou v Ubuntu k dispozici oba příkazy. Napůl jsem očekával, že jeden bude alias druhého, ale jsou to odlišné binární soubory.

klamný typ
zadejte userdel

Ačkoli jsou oba k dispozici, doporučuje se použít deluserna distribucích odvozených z Debianu:

userdelJe nástroj nízké úrovně pro odebírání uživatelů. V Debianu by správci měli delusermísto toho používat (8). “

To je dostatečně jasné, takže příkaz k použití v tomto počítači s Ubuntu je deluser. Protože také chceme, aby byl jejich domovský adresář odstraněn, používáme --remove-homepříznak:

sudo deluser --remove-home eric

Příkaz, který se má použít pro distribuce jiné než Debian, je userdels --removepříznakem:

sudo userdel - odstranit eric

Všechny stopy uživatelského účtu ericbyly vymazány. Můžeme zkontrolovat, zda byl /home/eric/adresář odstraněn:

ls / home

ericSkupina byla také odstraněna, protože uživatelský účet ericbyl jediný vstup do ní. Můžeme to docela snadno zkontrolovat pipováním obsahu /etc/groupskrz grep:

sudo méně / etc / group | grep eric

Je to zábal

Eric je pro své hříchy pryč. Zabezpečení ho stále vytahuje z budovy a jeho soubory jste již zabezpečili a archivovali, odstranili jeho účet a očistili systém od veškerých zbytků.

Přesnost vždy převyšuje rychlost. Než provedete, nezapomeňte zvážit každý krok. Nechcete, aby někdo šel k vašemu stolu a řekl: „Ne, ten druhý Eric.“