La gestion des utilisateurs et des groupes est souvent délicate. Red Hat Linux vous propose de nombreux outils afin de faciliter cette tâche.
Le meilleur moyen de gérer les utilisateurs et les groupes, est d'utiliser les outils du panneau de contrôle (pour plus de détails, reportez vous à la section 9 pour le panneau de contrôle et à la section 9.1 pour le module Utilisateurs et Groupes).
Vous pouvez aussi utiliser la commande adduser, à partir de la ligne de commande, pour créer un nouvel utilisateur.
La figure suivante propose une liste des utilisateurs standards tels qu'ils sont configurés par le processus d'installation (correspond principalement au fichier /etc/passwd). L'identificateur du groupe (GID) est le groupe primaire de l'utilisateur. Consultez la section 11.1.3 pour plus de détails sur l'utilisation des groupes.
La Figure suivante propose une liste des groupes standards tels qu'ils sont configurés par le processus d'installation (correspond principalement au fichier /etc/group).
Red Hat Linux utilise la notion de groupe d'utilisateurs privés. Cette notion ne modifie en rien le standard UNIX, elle offre simplement une nouvelle façon de gérer les groupes. Pour chaque utilisateur créé, un groupe unique lui est automatiquement attribué par défaut.
Groupe d'utilisateur privé : chaque utilisateur possède son propre groupe primaire, dont il est le seul membre.
Umask=002 : le masque habituellement utilisé sous UNIX est 022, il empêche les autres utilisateurs et les autres membres du groupe primaire utilisateur de modifier les fichiers. Grâce à la notion de groupe d'utilisateur privé, cette protection de groupe n'est plus nécessaire. Il suffit d'utiliser le masque 002 afin d'empêcher la modification des fichiers utilisateurs. Ce masque est défini dans /etc/profile.
Bit SGID : si vous utilisez le bit SGID sur un répertoire (avec la commande chmod g+s suivie du nom de répertoire), les fichiers qui y seront créés se verront attribuer le groupe du répertoire.
La plupart des sites informatiques utilisent un groupe pour chacun de leurs projets importants et autorisent les personnes concernées à y accéder. La gestion des fichiers a souvent été difficile, en effet lorsqu'un utilisateur crée un fichier, celui-ci appartient au groupe de cet utilisateur. Cela devient donc délicat, lorsque l'utilisateur travaille sur plusieurs projets simultanément. La notion de groupe d'utilisateurs privés permet de faciliter cette gestion.
Considérons le projet devel, et un ensemble d'utilisateurs qui travaillent sur les fichiers du répertoire devel. Créez un groupe devel, attribuez le répertoire devel au groupe devel, et ajoutez tous les utilisateurs cités plus haut au groupe devel. Ils peuvent donc modifier les fichiers du répertoire devel et en créer de nouveaux, ces fichiers appartiendront à leur groupe devel. Ils sont bien sûr éditables par les autres programmeurs.
Si vous avez plusieurs projets comme devel, et des utilisateurs qui travaillent simultanément sur ces projets, ils n'auront pas besoin de modifier leur masque et leur groupe lorsqu'ils changent de projet. Le bit SGID attribué à chaque répertoire principal de projet sélectionne le groupe approprié.
Du fait que le répertoire utilisateur appartienne à l'utilisateur et à son groupe privé, il est conseillé d'utiliser le bit SGID sur le répertoire HOME. Quoiqu'il en soit, les fichiers sont par défaut créés avec le groupe primaire de l'utilisateur, le bit SGID est donc redondant.
Beaucoup de personnes se posent des questions, voici donc un exemple :
* Vous souhaitez qu'un groupe de personnes puisse travailler sur les fichiers du répertoire /usr/lib/emacs/site-lisp. Faites confiance à certains pour vous y coller la panique !
* Utilisez donc la commande
chown -R root.emacs /usr/lib/emacs/site-lisp
et ajoutez les utilisateurs au groupe.
* Pour autoriser les utilisateurs à créer des fichiers dans le répertoire, utilisez la commande
chmod 775 /usr/lib/emacs/site-lisp
* Lorsqu'un utilisateur créé un nouveau fichier, ce dernier est attribué au groupe d'utilisateurs par défaut (users en général). Pour éviter cela, utilisez la commande
chmod 2775 /usr/lib/emacs/site-lisp
qui attribue tout nouveau fichier au groupe emacs.
* Utilisez le mode 664 sur les nouveaux fichiers pour qu'ils puissent être édités par les autres utilisateurs du groupe emacs. Utilisez le masque 002 comme masque par défaut.
* Tout devrait normalement fonctionner, sauf si votre groupe par défaut est le groupe users. Tout fichier créé dans votre répertoire sera accessible en écriture pour tous les membres du groupe users (c'est à dire par tout le monde).
* Pour remédier à ce problème, vous devez attribuer à chaque utilisateur son groupe privé comme groupe par défaut.
En utilisant le masque 002 comme masque par défaut, et en attribuant un groupe privé par défaut à chaque utilisateur vous faciliterez grandement l'utilisation des groupes. Créez simplement les groupes, ajoutez les utilisateurs, et effectuez les modifications nécessaires sur les répertoires.