Nozioni di base su Linux: aggiungere e rimuovere utenti shell su Ubuntu
Versione: 1.0
Autore: Daya Mukherjee
Ultima modifica: 4 giugno 2014
- Come amministratore o utente con privilegi sudo, usa adduser per creare un account shell e deluser per rimuoverlo.
- Per eliminare anche la home e i file: deluser –remove-home.
- Dopo la rimozione, verifica /etc/sudoers o usa visudo per cancellare eventuali privilegi residui.
Sommario
- Panoramica
- Introduzione: perché aggiungere/rimuovere utenti
- Come aggiungere un utente shell su Ubuntu
- Come eliminare un utente shell su Ubuntu
- Best practice e sicurezza
- Alternative e casi in cui i comandi standard falliscono
- Checklist per ruolo (amministratore, helpdesk, DevOps)
- Criteri di accettazione
- Glossario rapido
- Riepilogo
1. Panoramica
Ubuntu è una distribuzione Linux molto diffusa per desktop e server. Gestire gli account utente rimane una delle operazioni fondamentali per amministratori e operatori. Questo articolo spiega, passo dopo passo, come creare e rimuovere utenti shell su Ubuntu, con suggerimenti di sicurezza e controlli operativi.
2. Introduzione: aggiunta e rimozione di utenti shell su Ubuntu
Dopo l’installazione o la creazione di un nuovo server, per ragioni di sicurezza è consigliabile non usare l’account root per le attività quotidiane. Si crea quindi un utente non privilegiato per le operazioni correnti e si concede sudo solo quando necessario. Questo processo evita abusi accidentali dei privilegi di root. Ogni persona che accede al sistema dovrebbe avere un account unico per tracciabilità e audit.
3. Come aggiungere un utente shell su Ubuntu
Se sei loggato come root, usa il comando seguente per creare un nuovo utente:
adduser newuser
Se sei un utente non-root con privilegi sudo, esegui:
sudo adduser newuser
Dopo aver lanciato adduser, il sistema ti guiderà con alcune domande. Procedura tipica:
- Inserisci e conferma una password unica per il nuovo account.
- Inserisci informazioni opzionali (nome, stanza, telefono). Puoi saltarle premendo INVIO.
- Conferma che i dati sono corretti digitando y.
Suggerimenti pratici:
- Scegli password robuste e, se possibile, abilita l’autenticazione a chiave pubblica SSH per accessi remoti.
- Per concedere il permesso di eseguire comandi come root, aggiungi l’utente al gruppo sudo:
sudo usermod -aG sudo newuser
- Per creare un account con shell specifica, ad esempio /bin/bash, usa:
adduser --shell /bin/bash newuser
- Per creare un account senza home directory (raro), usa useradd con opzioni appropriate. Nota: useradd è più basilare rispetto ad adduser.
4. Come eliminare un utente shell su Ubuntu
Per rimuovere un utente senza cancellare i suoi file personali:
deluser newuser
Se sei un utente non-root con sudo:
sudo deluser newuser
Per cancellare anche la home directory e la mail spool dell’utente:
deluser --remove-home newuser
o con sudo:
sudo deluser --remove-home newuser
Dopo la rimozione, verifica e pulisci eventuali riferimenti residui a quell’utente:
- Controlla /etc/sudoers e i file in /etc/sudoers.d/. Usa sempre visudo per modificare /etc/sudoers in modo sicuro:
visudo
o con sudo:
sudo visudo
Esempio di riga che permette sudo (non modificare a meno di sapere cosa si fa):
root ALL=(ALL:ALL) ALL
Se esiste una riga simile per l’utente cancellato, rimuovila. Una riga di esempio da eliminare sarebbe:
newuser ALL=(ALL:ALL) ALL # ELIMINARE QUESTA RIGA
Ulteriori verifiche post-rimozione:
- Cerca file di proprietà dell’utente su tutto il filesystem:
sudo find / -uid -print
Dove
- Controlla cron e systemd user services che potrebbero riferirsi all’utente.
5. Best practice e hardening
Important: segui questi punti per ridurre i rischi:
- Usa account non privilegiati per attività ordinarie. Concedi sudo solo quando necessario.
- Imposta sudo con visudo e, quando possibile, limita i comandi che l’utente può eseguire.
- Abilita l’autenticazione a chiave pubblica SSH e disabilita l’accesso root via SSH (Param: PermitRootLogin no).
- Imposta una politica di password e scadenza (chage, /etc/login.defs).
- Conserva backup e snapshot prima di eliminare account o home directory.
- Registra le modifiche importanti nei log e, se disponibile, inoltra i log a un sistema di log centralizzato.
Note sulla privacy/GDPR (se i dati personali sono coinvolti): assicurati che la rimozione degli account sia conforme alla politica aziendale sulla conservazione dei dati. Eliminare la home directory può rimuovere dati personali; valuta la procedura legale prima dell’azione su account di utenti soggetti a richieste di conservazione.
6. Alternative e scenari avanzati
useradd vs adduser: useradd è uno strumento a basso livello. adduser è uno script più amichevole che crea anche la home, copia i file skeleton e imposta le autorizzazioni. Per script automatizzati, useradd con opzioni esplicite è spesso preferibile.
Creazione tramite cloud-init o API provider: sui server cloud puoi automatizzare la creazione di utenti via cloud-init al deployment, evitando accessi manuali.
Gestione centralizzata: in ambienti enterprise valuta LDAP, FreeIPA o Active Directory per gestire gli utenti centralmente e mantenere coerenza tra macchine.
7. Quando i comandi standard falliscono (controesempi)
- L’utente non esiste: deluser restituirà un errore. Verifica la presenza in /etc/passwd.
- File system montato in sola lettura: non potrai creare o eliminare account. Controlla dmesg e mount.
- Processi in esecuzione da parte dell’utente: la home potrebbe non essere rimossa correttamente; termina o trasferisci i processi prima di eliminare.
- Utente con UID condiviso o riferimenti esterni (LDAP): deluser su una macchina locale non rimuove l’utente da LDAP.
8. Checklist per ruolo
Amministratore:
- Creare account con adduser o useradd secondo policy.
- Assegnare gruppi e permessi (usermod -aG).
- Configurare sudo con visudo.
- Abilitare SSH key e disabilitare root login.
Helpdesk / Operatore di prima linea:
- Verificare identità prima di reimpostare password.
- Non assegnare privilegi amministrativi senza approvazione.
- Documentare le richieste in ticket.
DevOps / Automazione:
- Automatizzare creazione account in pipeline di provisioning.
- Usare strumenti centralizzati (Ansible, Terraform, cloud-init) per coerenza.
- Mantenere script idempotenti e testati.
9. Criteri di accettazione
- L’utente creato può autenticarsi con la password o la chiave SSH assegnata.
- L’utente può eseguire i comandi previsti (con o senza sudo) in base ai permessi impostati.
- Alla rimozione, l’utente non compare più in /etc/passwd e non può effettuare il login.
- Se richiesto, la home directory e i file associati sono cancellati o archiviati secondo policy di retention.
10. Glossario (una riga per termine)
- adduser: script che crea un account utente interattivo su Debian/Ubuntu.
- deluser: strumento per rimuovere un account utente su Debian/Ubuntu.
- sudo: meccanismo per eseguire comandi con privilegi elevati.
- visudo: editor sicuro per /etc/sudoers che previene errori di sintassi.
- UID: identificatore numerico dell’utente nel sistema.
11. Esempi pratici rapidi (chetti di comandi)
- Creare utente e aggiungerlo a sudo:
sudo adduser maria
sudo usermod -aG sudo maria
- Rimuovere utente e la home:
sudo deluser --remove-home maria
- Cercare file appartenenti a un UID specifico:
sudo find / -uid 1001 -print
12. Riepilogo
Gestire account utente su Ubuntu è semplice ma richiede attenzione alle policy di sicurezza e alla tracciabilità. Usa adduser per creare account, deluser per rimuoverli e visudo per gestire i privilegi sudo. Automatizza dove possibile e verifica sempre riferimenti residui (file, cron, sudoers) dopo la rimozione.
Important: conserva backup prima di eliminare dati e verifica le esigenze legali o di retention prima di cancellare informazioni personali.
Materiali simili

Modificare suono avvio Windows 11

Riconoscimento Suoni su iPhone: guida pratica

Backup Google Photos su disco rigido

Aggiungere un sito alla schermata Home iPhone

Remixare video con Sora: guida pratica
