CodeGym /Corsi /Docker SELF /Gestione dei gruppi: creazione, aggiunta e rimozione di u...

Gestione dei gruppi: creazione, aggiunta e rimozione di utenti dai gruppi (`groupadd`, `usermod -aG`, `groups`)

Docker SELF
Livello 2 , Lezione 2
Disponibile

Gestione dei gruppi: creazione, aggiunta e rimozione di utenti dai gruppi groupadd, usermod -aG, groups

1. Introduzione ai gruppi in Linux

I gruppi nel sistema operativo Linux permettono di raggruppare gli utenti in base agli interessi, ai compiti o ad altri criteri e assegnare loro diritti di accesso comuni. Oggi vedremo come lavorare con i gruppi, aggiungere utenti e gestire tutto questo in modo efficace. Pronti? Allora iniziamo!

Partiamo con un’analogia. Immagina di giocare a un videogioco online con gilde. Ogni gilda ha i suoi membri, che hanno accesso a risorse condivise: magazzino, chat e sale strategiche. In Linux i gruppi svolgono una funzione simile. I gruppi permettono di:

  1. Semplificare la gestione dell’accesso a file e risorse per più utenti contemporaneamente.
  2. Dividere gli utenti in team in base al loro ruolo o compito.
  3. Minimizzare i grattacapi dell’amministratore di sistema.

Quando il sistema verifica se un utente può accedere a un file, controlla tre livelli di permessi: proprietario del file, gruppo e altri. Se l’utente fa parte del gruppo indicato per il file e il gruppo ha i permessi di accesso, l’utente è felice, e l’amministratore è soddisfatto.


2. Comandi base per la gestione dei gruppi

Linux offre alcuni strumenti semplici e potenti per lavorare con i gruppi: groupadd, usermod, groups, groupdel e gpasswd. Li analizzeremo passo per passo.

1. Creare nuovi gruppi con groupadd

Creare un nuovo gruppo nel sistema è davvero semplice. Per farlo si utilizza il comando groupadd. Per esempio, se vogliamo creare un gruppo con il nome developers, fai così:

sudo groupadd developers

Ed ecco fatto! Il gruppo è stato creato. Per assicurarti che esista davvero, puoi dare un'occhiata al file /etc/group — è come la rubrica di contatti per tutti i gruppi del sistema:

cat /etc/group | grep developers

Vedrai una riga simile a questa:

developers:x:1001:

Ecco cosa indica ciascun elemento:

  • developers — il nome del gruppo.
  • x — il campo della password (di solito non utilizzato).
  • 1001 — è un Group ID (GID) unico.
  • Lo spazio vuoto dopo il secondo due punti — qui vengono aggiunti gli utenti del gruppo.
Una battuta per alleggerire:

Se il GID è il numero di telefono del gruppo, allora /etc/group è la sua rubrica telefonica.


2. Aggiungere un utente a un gruppo con usermod -aG

Ora assumiamo gli sviluppatori nel nostro nuovo gruppo developers. Per farlo si utilizza il comando usermod con l'opzione -aG. Ad esempio, aggiungiamo l'utente john:

sudo usermod -aG developers john

È importante ricordare:

  • Il flag -a significa append (aggiungere). Se lo dimentichi, rischi di rimuovere accidentalmente l'utente da tutti i gruppi, eccetto quello specificato.
  • Il flag -G specifica il gruppo in cui aggiungere l'utente.

Per verificare a quali gruppi appartiene un utente, puoi usare il comando groups:

groups john

O, con più dettagli, utilizzando il comando id:

id john

Il risultato sarà simile a questo:

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. Rimuovere un utente da un gruppo

Quando uno dei tuoi "sviluppatori" decide di cambiare professione e diventare un barista, è necessario rimuoverlo dal gruppo. Per farlo, utilizza il comando gpasswd:

sudo gpasswd -d john developers

Dopo di ciò, l'utente john non farà più parte del gruppo developers. Non dimenticare di verificare con groups john per assicurarti che abbia lasciato ufficialmente.


4. Eliminare gruppi con groupdel

Se non hai più bisogno di un gruppo, puoi eliminarlo con il comando groupdel. Per esempio:

sudo groupdel developers
Attenzione!

Se nel gruppo ci sono ancora utenti, questo non influenzerà loro in alcun modo. Perderanno semplicemente la possibilità di fare riferimento a quel gruppo.


3. Esercizio pratico

Proviamo a creare e configurare i gruppi in pratica, come veri admin.

Scenario:

  1. Crea un gruppo designers.
  2. Crea due nuovi utenti: alice e bob.
  3. Aggiungi questi utenti al gruppo designers.
  4. Verifica che gli utenti siano effettivamente aggiunti al gruppo.
  5. Rimuovi l'utente alice dal gruppo designers.

Soluzione:

Passaggio 1. Creare un gruppo

sudo groupadd designers

Passaggio 2. Creare utenti

sudo adduser alice
sudo adduser bob

Passaggio 3. Aggiungere utenti al gruppo

sudo usermod -aG designers alice
sudo usermod -aG designers bob

Passaggio 4. Verificare l'aggiunta

groups alice
groups bob

Passaggio 5. Rimuovere alice dal gruppo

sudo gpasswd -d alice designers

4. Caratteristiche e errori tipici

Lavorare con i gruppi è come con i gattini: sembra tutto facile e semplice, ma basta distrarsi un attimo e creano il caos:

  1. Opzione -aG. Dimentica di mettere -a e rimuoverai accidentalmente l'utente da tutti i gruppi tranne il nuovo. È particolarmente "divertente" se quell'utente faceva parte di un gruppo di sistema come sudo.

  2. Le modifiche hanno effetto dopo un nuovo login. Se l'utente non vede il nuovo gruppo subito dopo l'aggiunta, non andare nel panico! Deve uscire dalla sessione e rientrare per ricevere i nuovi permessi.

  3. Rispetta le convenzioni. Non usare spazi o caratteri speciali nei nomi dei gruppi. Nomi come awesome@group funzionano male e fanno soffrire gli amministratori.

  4. Controlla i permessi di accesso. Il gruppo è stato creato e aggiunto? Ottimo, ma se i file non hanno permessi per il gruppo, hai deluso le aspettative degli utenti. Prendi questa regola: i permessi devono essere controllati e assegnati separatamente.

Nella vita reale

Nei progetti reali, la gestione dei gruppi viene utilizzata per:

  • Dividere i permessi di accesso alle risorse del server per sviluppatori, tester e amministratori.
  • Configurare directory di lavoro condivise per i team.
  • Gestire l'accesso a database, file di configurazione, script e, ovviamente, alla macchina del caffè (ok, qui Linux non ci salva ancora).

Ora che sai come creare e gestire i gruppi in Linux, sei pronto per amministrare il tuo sistema in modo elegante ed efficiente.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION