Groupes propres à l'utilisateur

Red Hat Linux utilise un système de groupe propre à l'utilisateur (UPG), qui facilite considérablement l'utilisation de groupes UNIX. Le système UPG n'ajoute ni ne modifie rien à la manière standard dont UNIX manipule les groupes. Il propose simplement une nouvelle convention pour la manipulation des groupes. Chaque fois que vous créez un nouvel utilisateur, par défaut, il correspond à un groupe unique. Le système fonctionne comme suit :

Groupe propre à l'utilisateur

Chaque utilisateur a son propre groupe principal qui est le seul auquel il appartienne.

umask = 002

L'umask UNIX traditionnel est 022, ce qui empêche d'autres utilisateurs et d'autres membres du groupe principal d'un utilisateur de modifier les fichiers d'un utilisateur. Du fait que chaque utilisateur a son propre groupe privé dans le système UPG, cette "protection de groupe" n'est pas nécessaire. Un umask égal à 002 empêche les utilisateurs de modifier les fichiers privés d'autres utilisateurs. L'umask est défini dans /etc/profile.

Bit setgid sur des répertoires

Si vous définissez le bit setgid sur un répertoire (avec chmod g+s directory), le groupe des fichiers créés dans ce répertoire sera celui du répertoire.

La plupart des organisations de TI aiment créer un groupe pour chaque projet majeur et assigner les personnes aux groupes dont elles doivent faire partie. La gestion de fichiers a cependant toujours été difficile du fait que, lorsque quelqu'un crée un fichier, celui-ci est la propriété du groupe principal auquel la personne appartient. Lorsqu'une même personne travaille sur plusieurs projets, il devient difficile d'associer les bons fichiers au bon groupe de propriété. Dans le système UPG, les groupes sont automatiquement assignés à des fichiers, projet par projet, ce qui facilite considérablement la gestion des projets de groupe.

Supposons que vous ayez un grand projet baptisé devel, dans le cadre duquel de nombreuses personnes éditent des fichiers devel figurant dans un répertoire. Créez un groupe appelé devel, attribuez la propriété (chgrp) du répertoire devel au groupe devel, puis ajoutez tous les utilisateurs devel au groupe devel.

Vous pouvez ajouter un utilisateur à un groupe à l'aide de Linuxconf (voir Guide de personnalisation officiel Red Hat Linux). Si vous préférez utiliser la ligne de commande, exécutez la commande /usr/sbin/groupadd groupname pour créer un groupe. La commande /usr/bin/gpasswd -a loginname groupname ajoutera un utilisateur loginname à un groupe. (Pour obtenir plus d'informations sur leurs options, voir les pages groupadd et gpasswd du manuel.) Le fichier /etc/group contient les informations concernant les groupes pour votre système.

Si vous avez créé le groupe devel, ajouté des utilisateurs au groupe devel, changé le groupe du répertoire devel en devel et défini le bit setgid pour le répertoire devel, tous les utilisateurs devel pourront éditer les fichiers devel et créer de nouveaux fichiers dans le répertoire devel. Les fichiers qu'ils créent garderont toujours leur statut de groupe devel, de façon à ce que les autres utilisateurs devel puissent toujours les éditer.

Si vous avez plusieurs projets tels que devel, et des utilisateurs travaillant sur plusieurs projets, ces derniers ne devront jamais changer d'umask ou de groupe pour passer d'un projet à l'autre. Le bit setgid sur le répertoire principal de chaque projet "sélectionne" le groupe approprié.

Du fait que le répertoire personnel de chaque utilisateur appartient à l'utilisateur et à son groupe privé, la définition du bit setgid sur le répertoire personnel apporte une sécurité. Toutefois, par défaut, les fichiers sont créés avec le groupe principal de l'utilisateur, de sorte que le bit setgid serait redondant.

Exposé raisonné concernant le groupe propre à l'utilisateur

Bien que l'UPG ne soit pas une nouveauté dans Red Hat Linux 7.1, bon nombre de personnes se posent des questions à son sujet, notamment quant à son utilité. Voici un exposé raisonné relatif à ce système.

A ce stade, en créant l'umask 002 par défaut et en attribuant à chacun un groupe privé par défaut, vous pouvez aisément constituer des groupes dont les utilisateurs puissent bénéficier dans devoir faire appel à des solutions magiques. Créez simplement le groupe, ajoutez les utilisateurs et appliquez les commandes chown et chmod ci-dessus aux répertoires du groupe.