13.8 Gruppi

Un gruppo è semplicemente una lista di utenti. I gruppi sono identificati dal loro nome di gruppo e dal loro GID (Group ID). In FreeBSD (e nella maggior parte dei sistemi UNIX® like), i due fattori che il kernel usa per decidere se un processo è autorizzato a fare qualcosa sono il suo ID utente e la lista dei gruppi a cui appartiene. A differenza di un ID utente, un processo ha una lista di gruppi a cui è associato. Se senti qualcosa che si riferisce all'“ID gruppo” di un utente o di un processo, la maggior parte delle volte, questo si riferisce semplicemente al primo gruppo nella lista.

L'associazione ID gruppo - nome gruppo si trova in /etc/group. Questo è un file di testo normale con quattro campi delimitati da due-punti. Il primo campo è il nome gruppo, il secondo la password crittata, il terzo l'ID gruppo, e il quarto una lista membri divisi da virgole. Può essere editato a mano in modo sicuro (sempre che tu non commetta errori di sintassi!). Per una descrizione più completa della sintassi, consulta la pagina di manuale group(5).

Se non vuoi editare a mano il file /etc/group, puoi usare il comando pw(8) per aggiungere ed editare gruppi. Per esempio, per aggiungere un gruppo chiamato teamtwo e confermare che esiste puoi usare:

Esempio 13-7. Aggiungere un gruppo usando pw(8)

# pw groupadd teamtwo
# pw groupshow teamtwo
teamtwo:*:1100:

Il numero 1100 sopra è l'ID di gruppo del gruppo teamtwo. In questo momento teamtwo non ha membri, e quindi è abbastanza inutile. Cambiamolo invitando jru al gruppo teamtwo.

Esempio 13-8. Aggiungere Qualcuno al Gruppo usando pw(8)

# pw groupmod teamtwo -M jru
# pw groupshow teamtwo
teamtwo:*:1100:jru

L'argomento all'opzione -M è una lista divisa da virgole di utenti che sono membri del gruppo. Dalle sezioni precedenti, sappiamo che il file delle password contiene anche un gruppo per ogni utente. Il secondo (l'utente) è automaticamente aggiunto dalla lista del gruppo; l'utente non verrà mostrato come membro quando si usa il comando groupshow di pw(8), ma verrà mostrato quando l'informazione viene ricercata attraverso id(1) o tool simili. In altre parole pw(8) manipola solo il file /etc/group; non cercherà mai di leggere dati addizionali da /etc/passwd.

Esempio 13-9. Usare id(1) per Determinare l'Appartenenza al Gruppo.

% id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

Come puoi vedere,jru è un membro dei gruppi jru e teamtwo .

Per maggiori informazioni a proposito di pw(8), consulta la sua pagina di manuale, e per maggiori informazioni sul formato di /etc/group, consulta la pagina di manuale group(5).

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.