Chaque ligne du fichier /etc/group contient des informations sur un groupe. Chaque entrée de groupe est divisée en quatre champs séparés par des deux-points. Utilisez cat pour afficher son contenu.
cat /etc/group
Vous verrez des entrées pour divers groupes système et groupes privés d'utilisateurs. Par exemple, l'entrée du groupe labex pourrait ressembler à ceci :
labex:x:1000:
Décomposons chaque champ :
labex : Nom de ce groupe.
x : Champ de mot de passe de groupe obsolète ; il s'agit désormais d'un espace réservé.
1000 : Le numéro GID pour ce groupe.
- (vide) : Une liste des utilisateurs qui sont membres de ce groupe en tant que groupe secondaire. Si ce champ est vide, cela signifie qu'aucun utilisateur supplémentaire n'est explicitement répertorié comme membre secondaire de ce groupe (bien que l'utilisateur principal
labex soit implicitement membre).
Groupes principaux et groupes secondaires :
Chaque utilisateur a exactement un groupe principal. Pour les utilisateurs locaux, ce groupe est répertorié par GID dans le fichier /etc/passwd. Le groupe principal est propriétaire des fichiers que l'utilisateur crée. Lors de la création d'un utilisateur régulier, un groupe est souvent créé avec le même nom que l'utilisateur, pour être le groupe principal de l'utilisateur. L'utilisateur est généralement le seul membre de ce User Private Group. Cette conception simplifie la gestion des permissions de fichiers.
Les utilisateurs peuvent également avoir des groupes secondaires. L'appartenance à des groupes secondaires est stockée dans le fichier /etc/group. Les utilisateurs se voient accorder l'accès aux fichiers en fonction de la possibilité pour l'un de leurs groupes d'y accéder, que les groupes soient principaux ou secondaires. Par exemple, si l'utilisateur labex a un groupe principal labex et wheel comme groupe secondaire, alors cet utilisateur peut lire les fichiers que l'un de ces deux groupes peut lire.
La commande id peut afficher toutes les appartenances à des groupes pour un utilisateur. Rappelez-vous la sortie de id pour labex :
uid=1000(labex) gid=1000(labex) groups=1000(labex),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Ici, gid=1000(labex) indique que labex est le groupe principal. groups=1000(labex),10(wheel) répertorie toutes les appartenances à des groupes, montrant labex comme groupe principal et wheel comme groupe secondaire.