Introduzione
In questo tutorial, spiegheremo come aggiungere un utente a un gruppo nei sistemi Linux. Ti mostreremo anche come rimuovere un utente da un gruppo e come creare, eliminare ed elencare gruppi.
Gruppi Linux
I gruppi Linux sono unità organizzative utilizzate per organizzare e amministrare gli account utente in Linux. Lo scopo principale dei gruppi è definire un insieme di privilegi come lettura, scrittura o esecuzione dell'autorizzazione per una determinata risorsa che può essere condivisa tra gli utenti all'interno del gruppo.
Esistono due tipi di gruppi nei sistemi operativi Linux:
- Gruppo primario: quando un utente crea un file, il gruppo del file viene impostato sul gruppo primario dell'utente. Di solito, il nome del gruppo è uguale al nome dell'utente. Le informazioni sul gruppo primario dell'utente sono archiviate nel file
/etc/passwd
. - Gruppo secondario o supplementare: utile quando si desidera concedere determinate autorizzazioni di file a un set di utenti membri del gruppo. Ad esempio, se si aggiunge un utente specifico al gruppo
docker
, l'utente erediterà i diritti di accesso dal gruppo e sarà in grado di eseguire comandi docker.
Ogni utente può appartenere esattamente a un gruppo primario o zero o più gruppi secondari.
Solo i root o gli utenti con accesso sudo
possono aggiungere un utente a un gruppo.
Come aggiungere un utente esistente a un gruppo
Per aggiungere un utente esistente a un gruppo secondario, utilizzare il comando usermod -a -G
seguito il nome del gruppo e l'utente:
sudo usermod -a -G groupname username
Ad esempio, per aggiungere l'utente noviello
al gruppo sudo
è necessario eseguire il comando seguente:
sudo usermod -a -G sudo noviello
Utilizzare sempre l'opzione -a
(append) quando si aggiunge un utente a un nuovo gruppo. Se si omette l'opzione -a
, l'utente verrà rimosso da tutti i gruppi non elencati dopo l'opzione -G
.
In caso di successo, il comando usermod
non visualizza alcun output. Ti avverte solo se l'utente o il gruppo non esiste.
Come aggiungere un utente esistente a più gruppi in un solo comando
Se si desidera aggiungere un utente esistente a più gruppi secondari in un solo comando, utilizzare il comando usermod
seguito dall'opzione -G
e dal nome dei gruppi separati da ,
(virgole):
sudo usermod -a -G group1,group2 username
Come rimuovere un utente da un gruppo
Per rimuovere un utente da un gruppo, utilizzare il comando gpasswd
con l'opzione -d
.
Nel seguente esempio stiamo rimuovendo l'utente username
dal gruppo groupname
:
sudo gpasswd -d username groupname
Come creare un gruppo
Per creare un nuovo gruppo , utilizzare il comando groupadd
seguito dal nome del gruppo:
sudo groupadd groupname
Come eliminare un gruppo
Per eliminare un gruppo esistente, utilizzare il comando groupdel
seguito dal nome del gruppo:
sudo groupdel groupname
Come modificare il gruppo primario di un utente
Per modificare il gruppo primario di un utente, utilizzare il comando usermod
seguito dall'opzione -g
:
sudo usermod -g groupname username
Nel seguente esempio, stiamo cambiando il gruppo primario dell'utente noviello
in developers
:
sudo usermod -g developers noviello
Come creare un nuovo utente e assegnare gruppi in un comando
Il seguente comando useradd
crea un nuovo utente denominato alice
con gruppo principale users
e gruppi secondari wheel e developers.
sudo useradd -g users -G wheel,developers alice
Visualizzare gruppi utenti
Per visualizzare informazioni complete sull'utente, inclusi tutti i gruppi di cui un utente è membro, utilizzare il comando id
seguito dal nome utente:
id username
Se si omette il nome utente, il comando stamperà le informazioni sull'utente attualmente connesso. Controlliamo l'utente noviello
:
id noviello
uid=1000(noviello) gid=100(users) groups=100(users),10(wheel),95(storage),98(power),990(libvirt),993(docker),999(kvm)
Dal precedente esempio, si vede che il gruppo primario dell'utente è users
ed appartiene ai gruppi supplementari wheel
, storage
, libvirt
, docker
, e kvm
.
Utilizzare il comando groups
per visualizzare i gruppi supplementari dell'utente:
groups noviello
wheel storage power users libvirt docker kvm
Se non viene passato alcun nome utente al comando groups
, verranno stampati i gruppi dell'utente attualmente connesso.
Conclusione
In questo tutorial, ti abbiamo mostrato come aggiungere un utente a un gruppo.
Gli stessi comandi si applicano a qualsiasi distribuzione Linux, inclusi Ubuntu, CentOS, RHEL, Debian e Linux Mint.