13.8. Groupes

Un groupe est simplement une liste d'utilisateurs. Les groupes sont identifiés par leur nom et leur GID (identificateur de groupe). Dans FreeBSD (et la plupart des systèmes UNIX®), les deux éléments que le noyau utilise pour décider si un processus est autorisé à faire quelque chose sont son ID utilisateur et la liste des groupes auxquels il appartient. Différent d'un identificateur utilisateur, un processus est associé à une liste de groupes. Vous pourrez entendre faire références au “group ID” d'un utilisateur ou d'un processus; la plupart du temps on veut parler du premier groupe dans la liste.

La table d'équivalence nom de groupe et identificateur de groupe se trouve dans /etc/group. C'est un fichier texte avec quatre champs délimités par deux points. Le premier champ est le nom du groupe, le second est le mot de passe crypté, le troisième est l'ID du groupe, et le quatrième est une liste de membres séparés par des virgules. Ce fichier peut sans risque être édité à la main (en supposant, bien sûr, que vous ne faites pas d'erreur de syntaxe!). Pour une description complète de le syntaxe, voir la page de manuel group(5).

Si vous ne voulez pas éditer /etc/group à la main, vous pouvez utiliser la commande pw(8) pour ajouter et éditer des groupes. Par exemple, pour ajouter un groupe appelé teamtwo et ensuite vérifier qu'il existe bien vous pouvez utiliser:

Exemple 13-7. Ajouter un groupe en utilisant pw(8)

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

Le nombre 1100 ci-dessus est l'identificateur de groupe pour le groupe teamtwo. A cet instant teamtwo n'a aucun membre, et est par conséquent plutôt inutile. Changeons cela en ajoutant jru au groupe teamtwo.

Exemple 13-8. Ajouter quelqu'un dans un groupe en utilisant pw(8)

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

Le paramètre ajouté à l'option -M est une liste, délimitée par des virgules, d'utilisateurs qui sont membres du groupe. Des sections précédentes nous savons que le fichier des mots de passe contient également un groupe pour chaque utilisateur. Le dernier (utilisateur) est automatiquement ajouté à la liste des groupes par le système; l'utilisateur n'apparaîtra pas comme étant membre quand on utilise l'option groupshow avec pw(8), mais apparaîtra quand l'information est demandée par l'intermédiaire de id(1) ou un outil similaire. En d'autres termes, pw(8) manipule uniquement le fichier /etc/group, il n'essaiera jamais de lire des données supplémentaires à partir du fichier /etc/passwd.

Exemple 13-9. Utilisation de id(1) pour déterminer l'appartenance à un groupe

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

Comme vous pouvez le voir, jru est membre des groupes jru et teamtwo.

Pour plus d'information sur pw(8), voir sa page de manuel, et pour d'information sur le format de /etc/group, consultez la page de manuel group(5).

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <[email protected]>.
Pour les questions sur cette documentation, contactez <[email protected]>.