Guida alle tecnologie

Nozioni di base su Linux: aggiungere e rimuovere utenti shell su Ubuntu

6 min read Linux Aggiornato 19 Oct 2025
Aggiungere e rimuovere utenti shell su Ubuntu
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 è il numero UID dell’utente rimosso (puoi ricavarlo da /etc/passwd prima della cancellazione).

  • 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.

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/