fb-pixel

I comandi che ti aiutano a gestire utenti e gruppi su Linux

Pubblicato in:

by:

Quando si usa Linux, è essenziale sapere come gestire utenti e gruppi per poter garantire i permessi corretti a tutti gli utenti che creiamo ed evitare anche problemi di sicurezza.

In questa guida vedremo quali sono i comandi più utili che ci aiutano a creare nuovi utenti e gruppi e a gestire quelli già creati (con modifiche, eliminazioni e assegnazioni degli utenti ai gruppi).

Iniziamo!

Cosa sono utenti e gruppi in Linux

Prima di andare a vedere quali sono i principali comandi per la gestione di utenti è gruppi, è meglio chiarire qual è lo scopo di queste due entità.

I sistemi operativi Linux utilizzano utenti e gruppi per gestire i permessi di accesso (ed esecuzione dei file).

Come probabilmente già saprai su Linux ogni cosa è intesa come file e ogni file ha a sua volta un utente e un gruppo.

Alla base del funzionamento di Linux ci sono i tre permessi: lettura, scrittura ed esecuzione. Inoltre i permessi si applicano a tre livelli:

  • utente che possiede il file;
  • gruppo dell’utente che possiede il file;
  • tutti gli altri utenti.

Per approfondire meglio l’argomento puoi leggere la guida al comando chown che permette di cambiare la proprietà dei file e quella al comando chmod per gestire i permessi.

Come vengono memorizzate le informazioni su utenti e gruppi su Linux?

È utile sapere che i sistemi Linux utilizzano dei file appositi per memorizzare le informazioni di utenti e gruppi.

  • /etc/passwd: in questo file sono memorizzate le informazioni sugli utenti (tra queste ci sono nome utente, id e percorso della directory home).
  • /etc/group: contiene i gruppi e l’associazione tra gruppi e utenti.
  • /etc/shadow: contiene informazioni sicure degli utenti (ad esempio le password).
  • /etc/gshadow: contiene informazioni sicure dei gruppi utenti (ad esempio le password).

Comandi per la gestione degli utenti

Tieni presente che i comandi per creare e modificare gli utenti richiedono permessi sudo o root.

In questa sezione ti mostrerò come:

  • creare un nuovo utente
  • modificare un utente già esistente
  • eliminare un utente
  • visualizzare tutto l’elenco di utenti su Linux
  • sapere quali utenti hanno effettuato l’accesso e sono ancora loggati.

Nella sezione successiva, invece, parleremo in modo approfondito dei gruppi.

Come creare un utente

Per creare un nuovo utente su Linux possiamo usare il comando useradd.

Questo comando usato da solo e senza opzioni, crea semplicemente un nuovo utente senza password e senza home associata.

L’utilizzo del comando è abbastanza semplice.

La sintassi di useradd è questa:

useradd [nome-utente]

In pratica basta indicare il nome dell’utente dopo il comando useradd, nel nostro esempio:

useradd mariag
Aggiungere Nuovo Utente Linux Useradd

Se esiste già un utente con questo nome, verremo avvisati da un avviso come quello che ho riportato qui sotto.

Useradd Utente Esistente

Se vogliamo che venga creata la directory HOME_DIR per quell’utente, dobbiamo anche aggiungere l’opzione -m; il comando sarà quindi così:

useradd -m [nome-utente]

In questo esempio è mostrata l’effettiva creazione della home directory dell’utente che si trova in “/home/nome_utente“.

Linux Creare Utente Con Directory Home

A questo punto per impostare una password per l’utente appena creato possiamo usare il comando passwd:

passwd [nome-utente]

Il terminale ci mostrerà due prompt richiedendo di specificare la nuova password e di inserirla una seconda volta.

Impostare Password Nuovo Utente Linux

Useradd o adduser?

A volte capita che ci siano più comandi Linux per eseguire la stessa operazione.

Per esempio, per le distribuzioni Debian e derivate è possibile utilizzare il comando adduser invece che useradd. I due comandi hanno lo stesso scopo: creare un nuovo utente.

Come abbiamo visto, però, il comando useradd usato senza opzioni crea semplicemente l’utente e saremo poi noi a dover usare le opzioni corrette e altri comandi per completare il processo, ad esempio specificando una password per quell’utente.

Il comando adduser, invece, ci permette la creazione dell’utente in maniera più guidata con dei prompt che ci invitano a creare la home directory e inserire altre informazioni opzionali come il nome completo dell’utente.

Ti mostro brevemente come si usa.

Per cominciare usa il comando così:

adduser [nome-utente]

Il sistema va ad eseguire questi passaggi in autonomia:

  • associare un ID univoco all’utente;
  • creare un nuovo gruppo con lo stesso nome dell’utente;
  • aggiungere il nuovo utente al nuovo gruppo;
  • creare la home directory dell’utente.

Ti viene quindi chiesto con un prompt di inserire la password e confermarla (inserendola quindi una seconda volta).

A questo punto puoi inserire le informazioni opzionali: nome completo, stanza n°, ecc. Per lasciarle vuote dai semplicemente “Invio” senza scrivere nulla.

Alla fine puoi confermare digitando “S“.

Creazione Utente Comando Adduser Linux

Come modificare un utente

Il comando usermod su Linux ci permette di modificare gli utenti esistenti. Con questo comando possiamo modificare l’username degli utenti, la directory home e le informazioni opzionali.

Vediamo diversi esempi.

Per cambiare l’username di un utente e passare ad esempio da “mary” a “mary2”, usiamo il comando usermod con l’opzione -l (–login).

usermod -l [nuovo-nome] [nome-corrente]

Nel nostro esempio, il comando sarà questo:

usermod -l mary2 mary

Per modificare la directory home di un utente, per esempio per cambiare il nome della directory da “/home/mary” a “/home/mary2” possiamo usare l’opzione -d (–home):

usermod -d [nuovo-percorso-home-directory] [utente]

Nel nostro esempio:

usermod -d /home/mary2 mary2

Come si cambia la password di utente Linux già creato?

Per cambiare la password di un utente Linux già esistente, possiamo usare il comando passwd come abbiamo visto negli esempi precedenti.

La sintassi è questa:

passwd [nome-utente]

Per esempio per cambiare la password dell’utente “mary” uso il comando in questo modo:

passwd mary

Un prompt richiederà di inserire due volte la nuova password, come è mostrato nella schermata di esempio qui sotto.

Modifica Password Utente Esistente

Come eliminare un utente

Il comando che ci permette di eliminare un utente è userdel.

Questo comando può essere usato senza opzioni se vogliamo solo eliminare l’utente, ma se il nostro obiettivo è rimuovere tutto e quindi eliminare anche la directory home e eventuali email, possiamo farlo con l’opzione -r.

L’uso del comando senza opzioni ha questa sintassi:

userdel [nome-utente]

Usando il comando qui sopra stiamo eliminando solo l’utente.

Se, invece, vogliamo eliminare anche mail e directory home dell’utente, usiamo il comando con l’opzione -r:

userdel -r [nome-utente]
Eliminare Utente E Home Directory Linux

Se l’utente che stiamo cercando di rimuovere è attualmente collegato, riceveremo un errore, in questo caso per procedere forzando l’eliminazione basta usare l’opzione -f, così:

userdel -f [nome-utente]

Ottenere la lista degli utenti

Su Linux tutte le informazioni sugli account creati, compresi gli ID degli utenti e le rispettive directory home si trovano nel file /etc/passwd.

Per leggere il file direttamente da terminale possiamo usare il comando cat in questo modo:

cat /etc/passwd

Il file contiene una serie di righe simili a questa:

mary2:x:1006:1006:Maria Grazia,,,:/home/mary2:/bin/bash

Capiamo meglio come leggere questa riga per ricavare le informazioni che ci servono, tieni presente che ogni dato è separato dall’altro dal simbolo dei due punti (:).

  1. In questa posizione viene indicato il nome utente. Nel nostro esempio “mary2“.
  2. Questa posizione indica la password. Tipicamente troveremo una “x” che indica che la password è memorizzata in modo criptato. Le password vengono salvate nel file /etc/shadow file.
  3. Questo è l’ID dell’utente. Nell’esempio 1006.
  4. L’ID del gruppo. Nell’esempio 1006.
  5. Le informazioni opzionali dell’utente, per esempio nome completo, stanza, numero di telefono. Nell’esempio “Maria Grazia” indica il nome completo, mentre le virgole indicano che gli altri campi non sono stati compilati.
  6. Il percorso della directory home di quell’utente. Nell’esempio /home/mary2.
  7. La shell predefinita dell’utente. Nell’esempio /bin/bash.

Verificare quali utenti sono loggati

Per conoscere gli utenti che sono connessi attualmente al sistema, si può usare il comando who.

Basta dare il comando senza opzioni, così:

who

Otterremo una lista degli utenti attualmente connessi. Ogni riga sarà simile a questa:

vbox tty2 2025-10-27 11:24
  • vbox indica l’username dell’utente collegato;
  • tty2 indica il tipo di terminale;
  • 2025-10-27 11:24 è la data di accesso.

Oltre a queste informazioni ci può essere un’ulteriore colonna alla fine che indica l’IP.

Altri comandi che si possono usare sono:

  • users: questo comando restituisce solo la lista degli username degli utenti loggati (senza altre informazioni);
  • last: il comando last mostra anche gli utenti che hanno effettuato logout e permette quindi di avere una panoramica degli ultimi accessi.

Comandi per la gestione dei gruppi

Ora che sappiamo effettuare le operazioni di base sugli utenti, possiamo passare ai gruppi.

In questo capitolo vedremo come:

  • creare un gruppo
  • modificare un gruppo esistente
  • eliminare un gruppo
  • aggiungere o rimuovere utenti da uno specifico gruppo
  • sapere tutti i gruppi di appartenenza di un utente
  • avere la lista di tutti i gruppi
  • sapere quali utenti appartengono a un gruppo.

Come creare un gruppo

Per creare un nuovo gruppo su Linux ci basta usare il comando groupadd. La sintassi è questa:

groupadd [nome-gruppo]

Per esempio:

groupadd shteam

Il comando qui sopra creerà un nuovo gruppo chiamato “shteam”.

Creare Nuovo Gruppo Linux Groupadd

Come modificare un gruppo

Se dopo aver creato un gruppo vogliamo modificarlo, è possibile farlo usando il comando apposito groupmod.

Per esempio la modifica più comune è quella di cambiare il nome del gruppo. In tal caso, ci serve l’opzione -n e la sintassi che si usa è questa:

groupmod -n [nuovo-nome-gruppo] [nome-corrente-gruppo]

Facciamo un esempio: voglio rinominare il gruppo “shteam” in “supporthostteam”, per farlo uso il comando:

groupmod -n supporthostteam shteam

Se vogliamo verificare che il comando abbia funzionato, possiamo ottenere la lista dei gruppi usando il comando:

cat /etc/group

Nell’esempio qui sotto è mostrato il gruppo prima (a sinistra) e dopo la modifica del nome (a destra).

Cambiamento Nome Gruppo

Come eliminare un gruppo

Per eliminare un gruppo possiamo usare il comando groupdel.

La sintassi è questa:

groupdel [nome-gruppo]

Per esempio:

groupdel supporthostteam

Tieni presente che quando elimini un gruppo, gli utenti che fanno parte di quel gruppo non vengono eliminati. Per eliminarli puoi seguire la procedura che abbiamo visto prima quando abbiamo parlato di come eliminare gli utenti.

Come aggiungere o rimuovere utenti da un gruppo

Ad ogni gruppo possono essere associati uno o più utenti. Possiamo ovviamente anche gestire queste associazioni scegliendo di aggiungere o rimuovere nuovi utenti da un gruppo.

Aggiungere un utente a un gruppo

Per l’aggiunta utilizzeremo il comando usermod (che abbiamo visto prima, ma solo per quanto riguarda la modifica di altri parametri degli utenti).

Per aggiungere un utente a un gruppo dobbiamo usare questo comando con le opzioni -a (–append) e -G (–groups):

usermod -aG [gruppo] [utente]

Per esempio per aggiungere l’utente “maria” al gruppo “supporthost” userò il comando in questo modo:

usermod -aG supporthost maria

Aggiungere un utente a un gruppo

Per rimuovere un utente da un gruppo è possibile usare il comando deluser.

Il comando si usa in questo modo:

deluser [utente] [gruppo]

Ad esempio se voglio rimuovere l’utente “prova” dal gruppo “supporthost”, mi basta dare questo comando:

deluser prova supporthost

Verificare a quali gruppi appartiene un utente

Se vogliamo conoscere i gruppi a cui appartiene un determinato utente, possiamo usare il comando id.

Ci basta usare il comando id seguito dal nome dell’utente:

id [nome-utente]

Il risultato sarà simile a questo:

uid=1001(maria) gid=1001(maria) gruppi=1001(maria),100(users),1003(supporthost)

Ci viene indicato l’id dell’utente (uid), l’id del gruppo (gid) e poi gli altri gruppi di appartenenza, nel nostro esempio: maria, users e supporthost.

Gruppi A Cui Appartiene Un Utente Linux

Ottenere la lista dei gruppi

Su Linux i gruppi vengono memorizzati nel file /etc/group. Uno dei modi per visualizzare questo file è usare il comando cat per leggere il file direttamente da terminale.

Per avere una lista di tutti i gruppi nel nostro sistema, quindi possiamo usare il comando:

cat /etc/group

Il risultato sarà una serie di righe come questa:

supporthost:x:1003:maria
  1. Il primo elemento, nell’esempio supporthost, è il nome del gruppo.
  2. Il secondo elemento, la x, indica la password (vuol dire che la password è criptata).
  3. Al terzo posto troviamo l’id del gruppo, nell’esempio 1003.
  4. Alla fine troviamo la lista degli utenti che sono membri del gruppo. Nel nostro esempio ce ne è uno solo, ma se fossero stati più di uno sarebbero stati separati da virgole.

In alternativa possiamo anche usare il comando getent, in questo modo:

getent group

Otterremo la lista di tutti i gruppi.

Come avere l’elenco dei membri di un determinato gruppo

I comandi che abbiamo visto prima ci permettono di elencare tutti i gruppi nel nostro sistema. Ma se invece stiamo cercando solo gli utenti che appartengono a un determinato gruppo?

In questo caso uno dei comandi che possiamo usare è il comando grep.

Si usa così:

grep 'nome-gruppo' /etc/group

Ci basterà mettere tra apici il nome del gruppo di cui vogliamo conoscere gli utenti membri. Per esempio:

grep 'vbox' /etc/group

Il comando qui sopra ci darà al lista di tutti i membri del gruppo vbox.

Utenti Appartenenti A Un Gruppo Linux

Conclusioni

Utenti e gruppi sono entità fondamentali nei sistemi operativi Linux. Adesso sai come fare a creare nuovi utenti, vedere quelli attuali e gestirli, ad esempio se vuoi modificare nome utente, password, directory o anche appartenenza ai gruppi.

Conoscevi già questi comandi? Facci sapere nei commenti.


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *