back to top

Linux: creare, modificare ed eliminare utenti e gruppi

Su Linux, come su tutti i sistemi operativi, è possibile creare una molteplicità di utenti in grado di lavorare all’interno del sistema: Linux è un sistema multiuser. Gli utenti, a loro volta, possono essere raggruppati all’interno di gruppi (ciascun utente può partecipare ad uno o più gruppi) caratterizzati da permessi comuni a tutti i membri.

Ad esempio possiamo creare nel nostro sistema diversi gruppi: "famigliari" (con permessi piuttosto ampi), "colleghi" (con poteri più limitati) e "visitatori" (con poteri minimi).

Creare, modificare e cancellare gli utenti

Di default Linux dispone di un unico utente, cioè l’utente root che gode dei pieni poteri. Spetta quindi a questo utente creare nuovi utenti nel sistema. Per aggiungere un utente si ricorre al comando useradd, questa è la sintassi:

useradd [opzioni] numeutente

Facciamo un esempio: si supponga di vole creare l’utente "pippo" e di volerlo assegnare al gruppo "visitatori" (in questo momento supponiamo che il gruppo esista già, in seguito vedremo come crearne uno):

useradd -G visitatori pippo

Per modificare il profilo di un utente si utilizza usermod, in questo modo:

usermod [opzioni] nomeutente

Si supponga di voler modificare il gruppo di appartenenza di "pippo" da "visitatori" a "colleghi":

usermod -G colleghi pippo

Per cancellare un utente si userà, invece, il comando userdel; supponendo di voler cancellare l’utente "pippo" dovremo scrivere:

userdel pippo

Assegnare e modificare password

Ciascun utente può disporre di una password per accedere al sistema. Dopo aver creato un nuovo utente con useradd, quindi, sarà necessario assegnargli una password mediante il comando passwd. Questa è la sintassi:

passwd nomeutente

Mediante lo stesso comando è anche possibile modificare una password già assegnata ad un utente Linux.

Forzare il cambio della password al primo login

Abbiamo appena visto come creare un utente su Linux e come assegnargli una password di accesso. Ora si ipotizzi di voler costringere questo stesso utente a modificare la sua password una volta effettuato con successo il primo login; per far questo bisognerà fare in modo che la password dell’utente scada immediatamente in seguito all’autenticazione. Per farlo utilizzeremo questo comando:

passwd -e nomeutente

L’opzione e sta per expire ed obbliga l’utente indicato a impostare una nuova password subito dopo l’accesso.

In alternativa al comando passwd è possibile utilizzare il comando chage con la seguente sintassi:

chage -d 0 nomeutente

L’opzione d passata al comando chage deve essere seguita dal numero di giorni per cui la password avrà valore per l’utente specificato, nel nostro caso il valore da associare dovrà essere quindi "zero" come nell’esempio. Appena dopo aver effettuato il primo login l’utente riceverà un messaggio come il seguente:

WARNING: Your password has expired. You must change your password now and login again!

Tramite il quale il sistema gli comunicherà che la sua password è scaduta.

Creare, modificare e cancellare gruppi

Come già detto, i sistemi Linux prevedono la possibilità di creare gruppi di utenti. Per creare un nuovo gruppo dovremo utilizzare il comando groupadd; questa è la sintassi:

groupadd [opzioni] nomegruppo

Supponiamo di voler semplicemente creare un nuovo gruppo chiamato "staff" per farlo useremo:

groupadd staff

Per modificare un gruppo si utilizza groupmod; facciamo un esempio: supponiamo di voler rinominare il gruppo "staff" in "colleghi":

groupmod -n colleghi staff

Per finire, qualora dsi desideri cancellare un gruppo si utilizzerà il comando groupdel. Se, ad esempio, si volesse cancellare il gruppo appena rinominato dovremmo utilizzare:

groupdel colleghi

UID e GID

Esattamente come accade per i processi, anche utenti e gruppi sono contraddistinti da codici univoci che vengono assegnati automaticamente all’atto della loro creazione. Questi prendono il nome, rispettivamente, di UID (User Identifier) e GID (Group Identifier).

L’associazione tra UID e nome utente è normalmente definita nel file /etc/passwd. L’associazione tra GID e nome del gruppo viene normalmente definita nel file /etc/group.

Ad ogni file e directory del file system è assegnato un UID (che ne indica il proprietario) e un GID (che identifica il gruppo di appartenenza). Tali assegnazioni contribuiscono a determinarne i permessi d’accesso e possono essere modificate attraverso i comandi chown e chgrp.

Ad ogni processo è associato un insieme di UID e di GID che contribuiscono a determinare i permessi che il processo ha su file e directory.

Attraverso questi identificatori è possibile risalire alle risorse cui hanno accesso specifici utenti o gruppi.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).