Gestire utenti da riga di comando in Linux

4 aprile 2026
6 min lettura
32 visualizzazioni
Guybrush Threepwood

Gestire utenti da riga di comando in Linux

La guida illustra come amministrare utenti su Linux dalla shell: descrive i file critici (/etc/passwd, /etc/group, /etc/shadow, /etc/sudoers, ecc.), mostra come elencare e interrogare account esistenti, creare utenti con useradd/adduser, impostare o cambiare password con passwd, modificare attributi con usermod (UID, home, scadenza, lock/unlock), gestire appartenenze ai gruppi con usermod -aG e gpasswd, rimuovere account con userdel (con o senza home) e consultare i log di accesso via /var/log/auth.log, /var/log/secure e journalctl. Sottolinea attenzione a permessi, scadenze e sicurezza.


Gestire gli utenti da riga di comando in Linux

La gestione degli utenti è una delle attività fondamentali per chi amministra sistemi Linux. Che tu segua una singola macchina o un parco server, tenere ordine tra gli account aiuta a mantenere il controllo e a rafforzare la sicurezza. L’accesso dovrebbe essere concesso solo a chi ne ha davvero bisogno e solo per il tempo necessario: permessi superflui possono esporre dati sensibili o risorse critiche. In questa guida vediamo gli strumenti da terminale per creare, modificare e rimuovere account direttamente dalla shell.

File chiave per la gestione degli utenti in Linux

Linux conserva le informazioni su utenti e gruppi in alcuni file di sistema. Qui trovi dati sugli account, password e configurazioni dei gruppi che gli amministratori usano per gestire accessi e permessi.

  • /etc/passwd
    Contiene UID, GID, directory home e shell predefinita. È leggibile da tutti, modificabile solo da root/sudo.

  • /etc/group
    Elenca nome del gruppo, GID e membri. Serve a gestire appartenenze e permessi di gruppo.

  • /etc/sudoers
    Definisce quali utenti/gruppi possono eseguire comandi come root. Va modificato con estrema cautela.

  • /etc/shadow
    Conserva gli hash delle password, scadenze e informazioni sull’account. Accessibile solo a root.

  • /etc/gshadow
    Include password e scadenze dei gruppi. Accesso riservato a root.

  • /etc/skel
    Modelli di file (come .bashrc e .profile) copiati nelle home dei nuovi utenti.

  • /etc/login.defs
    Imposta regole di sicurezza come invecchiamento e scadenza delle password.

Visualizzare gli utenti esistenti

Il modo più rapido per vedere gli utenti presenti su un sistema Linux è consultare il file /etc/passwd, che raccoglie le informazioni di base su tutti gli account:

sudo cat /etc/passwd

Ogni riga corrisponde a un utente.

Altri comandi utili per interrogare gli account:

id username
groups username
getent passwd username
  • id mostra UID, GID e tutti i gruppi a cui l’utente appartiene.
  • groups elenca solo i gruppi dell’utente, senza UID/GID.
  • getent interroga le basi dati di sistema (come /etc/passwd, LDAP o altre fonti configurate) per restituire i dettagli dell’account.

Nota: sui sistemi moderni gli hash delle password non si trovano in /etc/passwd. Le password cifrate vengono salvate in /etc/shadow, leggibile esclusivamente da root.

Creare utenti con il comando useradd

useradd è un binario “di basso livello” disponibile sulla maggior parte delle distro. È meno amichevole rispetto ad adduser, ma le differenze sono minime e si può tranquillamente utilizzare.

Per approfondire opzioni e sintassi:

man useradd
useradd --help

Per aggiungere un nuovo utente creando anche la directory home:

sudo useradd --create-home username

Senza l’opzione --create-home l’account viene creato senza directory personale. Dopo la creazione puoi verificare con:

grep username /etc/passwd

Creare utenti con il comando adduser

adduser è di solito uno script Perl che crea utenti in modo simile a useradd, ma con una procedura interattiva: ti chiede password, percorso della home, e altre informazioni. In alcune distribuzioni (ad esempio Red Hat e CentOS) adduser è un link simbolico a useradd; su Arch Linux adduser è disponibile come pacchetto non installato di default.

Normalmente, la creazione di un utente genera anche un gruppo omonimo. Le impostazioni predefinite per useradd sono spesso gestite in /etc/default/useradd, dove puoi definire shell di default, posizione delle home e altre proprietà degli account.

Esempio di creazione utente:

sudo adduser testuser

Ti verrà chiesto di impostare e confermare la password, inserire dati opzionali e confermare la creazione dell’account.

Impostare o cambiare la password di un utente

Dopo aver creato un account, puoi definire o aggiornare la password con passwd:

sudo passwd username

Ti verrà richiesto di inserire e confermare la nuova password. Se un utente non privilegiato esegue passwd senza sudo, potrà modificare esclusivamente la propria password.

I requisiti di complessità sono gestiti da PAM e, su Ubuntu, sono configurati in /etc/pam.d/common-password. Per dettagli su come modificarli, consulta la pagina man di pam-auth-update.

Modificare gli utenti con usermod

Il comando usermod permette di cambiare gli attributi di un account esistente: ID utente, nome di login, directory home, appartenenze ai gruppi e altro.

  • Aggiornare l’UID:
sudo usermod -u NUOVO_UID username

Fai attenzione nel modificare ID o nome utente: potresti alterare la proprietà dei file o i permessi.

  • Cambiare la directory Home:
sudo usermod -d /nuovo/percorso/home username
  • Bloccare o sbloccare un account:
sudo usermod -L username   # blocca
sudo usermod -U username   # sblocca
  • Impostare la data di scadenza dell’account:
sudo usermod --expiredate YYYY-MM-DD username

Queste opzioni ti consentono di controllare l’accesso e le impostazioni dell’utente senza doverlo eliminare.

Aggiungere utenti ai gruppi

I gruppi permettono a più utenti di condividere gli stessi permessi. Sono utili, ad esempio, per gestire accessi a file, servizi o attività amministrative.

Per aggiungere un utente a uno o più gruppi con usermod:

sudo usermod -a -G gruppo1,gruppo2 username
  • L’opzione -a (append) è fondamentale: senza di essa, l’elenco dei gruppi dell’utente verrebbe sovrascritto.

In alternativa, puoi usare gpasswd:

sudo gpasswd -a username groupname     # aggiungi al gruppo
sudo gpasswd -d username groupname     # rimuovi dal gruppo

Rimuovere utenti

Se un account non serve più, puoi eliminarlo con userdel:

sudo userdel username

Questo rimuove l’account ma lascia intatta la home. Per eliminare anche la directory personale e i file associati:

sudo userdel -r username

Nota: userdel non può eliminare un utente se ci sono processi attivi in esecuzione con il suo account.

Consultare l’attività di accesso degli utenti

Monitorare gli accessi aiuta a individuare tentativi non autorizzati e a risolvere problemi di autenticazione.

  • Su Ubuntu e Debian i tentativi di login sono registrati in /var/log/auth.log:
sudo tail /var/log/auth.log
  • Su Red Hat e CentOS i log si trovano in /var/log/secure.
  • Sui sistemi con systemd puoi visionare gli eventi di autenticazione, ad esempio relativi a SSH, con:
sudo journalctl | grep ssh

Una gestione attenta degli account mantiene il sistema ordinato e riduce il rischio di accessi non autorizzati. Se vuoi rendere ancora più produttiva la tua esperienza a terminale, esplora anche strumenti e utility che velocizzano il lavoro in shell.

Tags:

#linux

#amministrazione

#utenti

Articolo scritto da Guybrush Threepwood

Guybrush Threepwood, nato nei primi anni ’80, è un autore specializzato in tecnologia, informatica e cultura digitale. Cresciuto in un’epoca di grandi trasformazioni tecnologiche, ha sviluppato fin da bambino una forte passione per i computer e il mondo dei videogiochi, muovendo i primi passi su macchine iconiche come il Commodore Amiga 500, tra floppy disk, linguaggi BASIC e interminabili pomeriggi passati a esplorare mondi virtuali. Grande appassionato di fantascienza, è da sempre affascinato dall’universo di Star Wars, che ha contribuito a plasmare la sua immaginazione e il suo interesse per le tecnologie futuristiche. Parallelamente, ha coltivato un amore per le avventure grafiche classiche, in particolare la saga di Monkey Island, da cui trae ispirazione anche il suo pseudonimo. Nel tempo libero continua a coltivare le sue passioni: retrogaming, fantascienza, smanettamento con nuovi dispositivi e software, e la riscoperta delle tecnologie che hanno segnato la sua infanzia. Per lui, la tecnologia non è solo lavoro, ma un linguaggio attraverso cui raccontare il presente e immaginare il futuro.

Domande Frequenti