È necessario rimuovere un vecchio account tecnico o ripulire un account utente locale non più necessario. Il comando userdel sembra semplice, ma la sua opzione -R Può eliminare la cartella personale insieme ai relativi dati. Un errore nel nome dell’account o una directory home insolita sono sufficienti per eliminare la cartella sbagliata.
Consiglio di separare l’eliminazione dell’account dall’eliminazione dei file. Iniziate annotando l’UID, la directory home, i gruppi, le sessioni e i processi. Quindi decidete se i dati devono essere archiviati, trasferiti o eliminati. Questo metodo richiede pochi minuti ed evita la perdita irreversibile dei dati.

Conferma l’account locale e il file personale
Alice Utilizzando le credenziali di accesso corrette. Innanzitutto, verifica l’account con più fonti:
getent passwd alice
grep '^alice:' /etc/passwd
getent può restituire un account da LDAP, SSSD o un’altra directory. Se l’utente appare con getent ma non dentro /etc/passwdnon avviare userdel Alla cieca: elabora l’account nella directory che lo gestisce. La guida per elenca gli utenti Linux questo dettaglio illustra la differenza tra i conti locali e i conti forniti da NSS.
Successivamente, salva l’UID e il percorso home nella tua sessione di amministrazione:
home=$(getent passwd alice | cut -d: -f6)
id -nG alice
sudo ls -ld "$home"
Rivedi l’output prima di continuare. Un account di servizio può avere una directory home. , o una directory condivisa. Non affidarti solo al prefisso. /casaVerifica inoltre di non eliminare il tuo account SSH o un account utilizzato da un’applicazione.
Gestisci sessioni, processi e attività programmate
Chi
w
loginctl list-sessions
pgrep -a -u alice
ps -u alice -o pid,ppid,lstart,cmd
Se trovi un processo aziendale, identifica il servizio corrispondente e trasferisci la sua configurazione a un account tecnico prima di eliminarlo. uccidi -9 Questa non è una procedura per la cessazione del rapporto di lavoro di un dipendente. L’articolo su uccidere su Linux Spiega come richiedere una fermata senza ostacoli e come leggere i giornali prima di forzare il blocco.
Verifica anche le unità crontab e systemd che fanno riferimento a questo login:
sudo crontab -u alice -l
[:space:]sudo grep -R --line-number '^[]*User=alice[]*$' /etc/systemd/system /usr/lib/systemd/system 2>/dev/null[:space:]
L’impostazione Comando_utente In /etc/login.defs Può avviare uno script per ripulire i processi cron, at o print, ma non è lo stesso su tutte le distribuzioni. conferma che il risultato di questo script non viene preso in considerazione da userdelPertanto, salva o elimina le attività esplicitamente prima dell’account.
Per sospendere temporaneamente l’autenticazione tramite password durante i controlli:
sudo passwd -l alice
Questo blocco non chiude le sessioni attive e non blocca necessariamente le chiavi SSH. Controlla questi punti di accesso separatamente. La guida su password in Linux dettaglia questo limite.
Prima di accedere alla pagina iniziale, controlla i file dell’account.
La cartella home dell’utente non è l’unico posto in cui un utente può memorizzare i file. Cerca il suo UID nelle posizioni utilizzate dal server:
sudo find /home /srv /var/www -xdev -uid "$uid" -print
Regola i punti di partenza in base ai tuoi volumi. L’opzione -xdev impedisce a ogni ricerca di attraversare un altro filesystem; pertanto, ripetere il comando sui mount dei dati interessati. Evitare un Trovare / improvvisato su un server di produzione o su una memoria di rete molto grande.
Se è necessario conservare i dati, verifica lo spazio disponibile e quindi crea un archivio della directory home:
sudo du -sh "$home"
sudo tar --one-file-system -C "$(dirname "$home")" -czf "/root/alice-home-$(date +%F).tar.gz" "$(basename "$home")"
sudo tar -tzf "/root/alice-home-$(date +%F).tar.gz" | head
Scegli se mantenere la directory home o eliminarla.
L’ordine senza -R Rimuove l’account dai file di sistema, ma ne conserva la cartella personale:
sudo userdel alice
Questa è la mia scelta predefinita quando i dati non sono ancora stati convalidati dal proprietario o trasferiti a un altro account. Puoi eliminare la directory in seguito, dopo averla esaminata.
Se la casella postale domestica e quella locale devono davvero scomparire, utilizzare:
sudo userdel -r alice
Secondo il pagina man di userdel, -R
Non utilizzare userdel -f per ignorare un messaggio che indica processi attivi. Questa opzione ignora i controlli di sicurezza e potrebbe lasciare il sistema in uno stato incoerente. Torna a pgrepIndividua il servizio in questione, arrestalo correttamente, quindi riavvia il processo di eliminazione.
Controlla cosa rimane dopo l’eliminazione utente
Mantieni la stessa sessione della shell per preservare le variabili $uido E $casaQuindi controlla il risultato:
getent passwd alice || echo "Account non disponibile"
id Alice
pgrep -a -u "$uid"
test -e "$home" && sudo ls -ld "$home" || echo "Cartella personale mancante"
sudo find /home /srv /var/www -xdev -uid "$uid" -ls
Questo dovrebbe indicare che l’accesso non esiste più. Se i file rimangono con il vecchio UID, decidere cartella per cartella se devono essere archiviati, riassegnati o eliminati. Non applicare un globale senza conoscere il ruolo dei dati.
Infine, prima di eliminare i file, verifica i gruppi, le configurazioni di systemd, le chiavi SSH copiate altrove e le attività pianificate. L’UID potrebbe essere riutilizzato da un nuovo account in futuro: lasciare i file orfani senza una soluzione crea un problema di permessi difficile da individuare.