Come eliminare un utente in Linux (e rimuovere tutte le tracce)

Contenuti

Rimuovere un utente su Linux implica più di quanto pensi. Se sei un amministratore di sistema, vorrai cancellare tutte le tracce dell'account e il suo accesso dai loro sistemi. Ti mostriamo i passaggi da seguire.

Se vuoi solo eliminare un account utente dal tuo sistema e non sei preoccupato di terminare le procedure in esecuzione e altre attività di pulizia, segui i passaggi nella sezione “Cancellazione dell'account utente” prossimo. Avrai bisogno di deluser comando su distribuzioni supportate da Debian e il userdel comando su altre distribuzioni Linux.

Account utente in Linux

Dal I primi sistemi di multiproprietà sono comparsi all'inizio degli anni '90. 1960. e ha portato con sé la possibilità per più utenti di lavorare su un singolo computer, c'è stata la necessità di isolare e compartimentare i file e i dati di ciascun utente da tutti gli altri utenti. E account utente …e password-Nato.

Gli account utente hanno un sovraccarico amministrativo. Dovrebbero essere creati quando l'utente deve prima accedere al computer. Dovrebbero essere rimossi quando tale accesso non è più necessario. En Linux, c'è una sequenza di passaggi che devono essere seguiti per cancellare correttamente e metodicamente l'utente, i tuoi file e il tuo account del computer.

Se sei l'amministratore di sistema, che la responsabilità ricade su di te. Ecco come farlo.

Il nostro palcoscenico

Esistono diversi motivi per cui potrebbe essere necessario eliminare un account. Un membro del personale può passare a un altro team o lasciare completamente l'azienda. L'account potrebbe essere stato impostato per una collaborazione a breve termine con un visitatore di un'altra azienda. I team di lavoro sono comuni nell'accademia, dove i progetti di ricerca possono estendersi ai dipartimenti, diverse università e persino enti commerciali. Alla fine del progetto, l'amministratore di sistema dovrebbe ripulire ed eliminare gli account non necessari.

Il caso peggiore è quando qualcuno va sotto le nuvole a causa di un reato minore. Tali eventi di solito accadono all'improvviso, con poco preavviso. Ciò dà all'amministratore di sistema pochissimo tempo per pianificare e l'urgenza di bloccare, chiudi ed elimina l'account, con una copia dei file utente di cui è stato eseguito il backup nel caso siano necessari per eventuali analisi forensi successive all'arresto.

Sul nostro palco, fingiamo che un utente, Eric, ha fatto qualcosa che giustifica l'immediato allontanamento dai locali. In questo momento non se ne rende conto, ancora funzionante ed effettuato l'accesso. Appena si dà sicurezza il via libera, ti accompagneranno fuori dall'edificio.

È tutto pronto. Tutti gli occhi sono su di te.

Controlla il login

Vediamo se sei veramente loggato e, se è, con quante sessioni stai lavorando. il who comando elencherà le sessioni attive.

chi

Eric ha effettuato l'accesso una volta. Vediamo quali processi stai eseguendo.

Revisione dei processi utente

Possiamo usare il ps comando a elenca i processi che questo utente sta eseguendo. il -u L'opzione (Nome utente) ci permette di dire ps per limitare il suo output ai processi in esecuzione sotto la proprietà di quell'account utente.

ps -u eric

Possiamo vedere gli stessi processi con più informazioni usando il top comando. top ha anche un -U (Nome utente) opzione per limitare l'output ai processi di proprietà di un singolo utente. Si noti che questa volta è a “tu” lettera maiuscola.

in alto -U eric

Possiamo vedere la memoria e l'utilizzo della CPU di ogni attività, e possiamo cercare rapidamente qualsiasi cosa con attività sospette. Stiamo per uccidere con la forza tutti i tuoi processi, quindi è più sicuro prendersi un momento per rivedere rapidamente i processi e verificare e assicurarsi che altri utenti non subiscano inconvenienti quando si annulla l'account utente. ericProcessi di.

Non mi sembra di fare molto, sta solo usando less per visualizzare un file. siamo sicuri di continuare. Ma prima di uccidere i tuoi processi, bloccheremo l'account bloccando la password.

IMPARENTATO: Come usare il comando ps per monitorare i processi Linux

Blocca l'account

Bloccheremo l'account prima di uccidere i processi perché quando uccidiamo i processi chiuderà la sessione dell'utente. Se cambiamo già la tua password, non potrai più accedere.

Le password utente crittografate sono memorizzate nel /etc/shadow procedimento. Non ti preoccuperesti regolarmente di questi passaggi successivi, ma così puoi vedere cosa succede nel /etc/shadow file quando si blocca l'account, faremo una piccola deviazione. Possiamo usare il seguente comando per guardare i primi due campi dell'input per il eric account utente.

sudo awk -F: '/erico/ {Stampa $1,$2}' /etc/shadow

Il comando awk analizza i campi da file di testo e facoltativamente li manipola. Stiamo usando il -F (separatore di campo) possibilità di dire awk quel file usa i due punti ” : ”Separare i campi. Troviamo una linea con lo schema "eric". Per le linee corrispondenti, stamperemo il primo e il secondo campo. Questi sono il nome dell'account e la password crittografata.

La voce per l'account utente eric viene stampata per noi.

Per bloccare l'account usiamo il passwd comando. Useremo il -l (blocco) opzione e passa il nome dell'account utente per bloccare.

sudo passwd -l eric

Se controlliamo il /etc/passwd file di nuovo, vedremo cosa è successo.

sudo awk -F: '/erico/ {Stampa $1,$2}' /etc/shadow

È stato aggiunto un punto esclamativo all'inizio della password crittografata. Non sovrascrivere il primo carattere, viene aggiunto solo all'inizio della password. È tutto ciò che serve per impedire a un utente di accedere a quell'account.

Ora che abbiamo impedito all'utente di accedere nuovamente, possiamo eliminare i tuoi processi e chiudere la sessione.

Uccidi i processi

Esistono diverse alternative per uccidere i processi di un utente, ma il comando mostrato qui è ampiamente disponibile ed è un'implementazione più moderna di alcune delle alternative. il pkill il comando troverà e ucciderà i processi. Abbiamo superato il segno KILL e abbiamo usato il -u opzione (Nome utente).

sudo pkill -KILL -u eric

Tornerà al prompt dei comandi in maniera decisamente anticlimatica. Per essere sicuro che succedesse qualcosa, ripassiamo who ancora:

chi

La tua sessione è andata. È stato disconnesso e i suoi processi si sono fermati. Ciò ha tolto un po' dell'urgenza alla situazione.. Ora possiamo rilassarci un po' e continuare con il resto delle pulizie mentre il personale di sicurezza si avvicina alla scrivania di Eric..

IMPARENTATO: Come uccidere i processi dal terminale Linux

Archivia la directory home dell'utente

Non è escluso che in uno scenario come questo, l'accesso ai file utente sarà richiesto in futuro. O come parte di un'indagine o semplicemente perché il tuo sostituto potrebbe dover fare riferimento al lavoro del tuo predecessore. Useremo il tar comando per archiviare l'intera directory home.

Le alternative che stiamo usando sono:

  • C: Crea un file di archivio.
  • F: Usa il nome file specificato per il nome file.
  • J: Usa la compressione bzip2.
  • v: Fornisce un output dettagliato durante la creazione del file.
sudo tar cfjv eric-20200820.tar.bz /home/eric

Una grande quantità di output dello schermo scorrerà nella finestra del terminale. Per verificare che il file sia stato creato, Utilizzare il ls comando. Stiamo usando il -l (formato lungo) e -h opzioni (leggibile dagli umani).

ls -lh eric-20200802.tar.bz

Un file di 722 MB. Questo può essere copiato in un luogo sicuro per una revisione successiva..

Rimuovi lavori cron

Faremmo meglio a controllare nel caso ce ne fossero cron lavori pianificati per l'account utente eric. UN cron il lavoro è un comando che viene attivato in momenti o intervalli specifici. Possiamo controllare se c'è cron lavori pianificati per questo account utente utilizzando ls:

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

Se esiste qualcosa in questa posizione, significa che c'è cron lavori in coda per quell'account utente. Possiamo eliminarli con questo. crontab comando. il -r (Elimina) cancellerà i lavori e -u l'opzione (Nome utente) dado crontab i cui lavori da eliminare.

sudo crontab -r -u eric

I lavori vengono eliminati silenziosamente. Per quanto ne sappiamo, se Eric avesse sospettato che stesse per essere sfrattato, potrebbe aver programmato un lavoro dannoso. Questo passaggio è la migliore pratica.

Elimina lavori di stampa

Forse l'utente aveva lavori di stampa in sospeso? Giusto per essere sicuro, possiamo eliminare la coda di stampa di qualsiasi lavoro che appartiene all'account utente. eric. il lprm comando rimuove i lavori dalla coda di stampa. il -U L'opzione (Nome utente) consente di eliminare i lavori appartenenti all'account utente indicato:

lprm -U erica

I lavori vengono eliminati e si torna alla riga di comando.

Rimuovi account utente

Abbiamo già eseguito il backup dei file dal /home/eric/ directory, così possiamo andare avanti ed eliminare l'account utente ed eliminare il /home/eric/ directory allo stesso tempo.

Il comando da utilizzare dipende dalla distribuzione Linux che stai utilizzando. Per Distribuzioni Linux basate su Debian, il comando è deluser, e per il resto del mondo Linux, è userdel.

In realtà, in Ubuntu sono disponibili entrambi i comandi. Quasi mi aspettavo che uno fosse un alias dell'altro, ma sono binari diversi.

digita deluser
digita userdel

Anche se entrambi sono disponibili, la raccomandazione è di usare deluser sulle distribuzioni derivate da Debian:

userdel è un'utilità di basso livello per eliminare gli utenti. In Debian, gli amministratori dovrebbero usare regolarmente deluser(8) Invece “.

È abbastanza chiaro, quindi il comando da usare su questo computer Ubuntu è deluser. Perché vogliamo che anche la tua home directory venga rimossa, stiamo usando il --remove-home bandiera:

sudo deluser --remove-home eric

Il comando da usare per le distribuzioni non Debian è userdel, con il --remove bandiera:

sudo userdel --remove eric

Tutte le tracce dell'account utente eric sono stati cancellati. Possiamo verificare che il /home/eric/La directory è stata rimossa:

ls / casa

il eric anche il gruppo è stato eliminato perché l'account utente eric era l'unico ingresso in esso. Possiamo verificarlo abbastanza facilmente canalizzando il contenuto di /etc/group attraverso grep:

sudo less /etc/group | grep erica

È un involucro

Eric, per i loro peccati, È andato. La sicurezza ti sta ancora portando fuori dall'edificio e hai già protetto e archiviato i tuoi file, hai cancellato il tuo account e ripulito il sistema da eventuali avanzi.

La precisione vince sempre sulla velocità. Assicurati di considerare ogni passaggio prima di prenderlo. Non vuoi che qualcuno si avvicini alla tua scrivania e ti dica “No, l'altro Eric”.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.