Groupe (Unix)
Dans les systèmes d'exploitation de type Unix, plusieurs utilisateurs peuvent être catégorisés en groupes. Les permissions sur les fichiers selon la norme POSIX et les Unix conventionnels sont organisés en trois classes : user, group, et others. L'utilisation de groupes autorise la délégation de capacités supplémentaires selon un modèle organisé, comme l'accès aux disques, aux imprimantes, et autres périphériques. Cette méthode, parmi d'autres, permet aussi au super-utilisateur de déléguer quelques tâches administratives à des utilisateurs normaux. Cela est similaire aux groupes Administrateurs dans Microsoft Windows NT et ses dérivés.
Identifiant
[modifier | modifier le code]Un identifiant de groupe, souvent abrégé en GID, est une valeur numérique représentant un groupe spécifique. L'étendue de valeurs pour un GID varie entre les différents systèmes; tout au moins, un GID peut être compris entre 0 et 32767, avec une restriction : le groupe pour le super-utilisateur doit avoir le GID 0. Cette valeur numérique est utilisée pour être mise en relation avec les groupes dans les fichiers /etc/passwd
et /etc/group
ou leurs équivalents. Les fichiers contenant les mots de passe (/etc/shadow
) ainsi que le Network Information Service concernent également les GIDs numériques. L'identifiant de groupe est un composant nécessaire des systèmes de fichiers et processus Unix.
Les limites sur l'éventail possible d'identifiants de groupe vient de l'espace de mémoire utilisé pour les stocker. Au début, un nombre entier relatif de 16 bit était utilisé. Le signe n'étant pas nécessaire - les nombres négatifs ne sont pas des identifiants de groupes valables - un nombre entier absolu est maintenant utilisé à la place, autorisant des identifiants de groupe entre 0 et 65535. Les systèmes d'exploitation modernes utilisent des nombres entiers absolus de 32 bits, ce qui autorise des identifiants de groupe compris entre 0 et 4294967295. Le passage de 16 a 32 bits n'était initialement pas nécessaire - à l'époque une machine ou même un réseau ne servait pas plus de 65535 utilisateurs - mais il a été opéré pour éviter d'avoir besoin de le faire dans le futur, quand il sera alors plus difficile de le mettre en place.
Primaire et supplémentaire
[modifier | modifier le code]Dans les systèmes Unix, chaque utilisateur doit être membre d'au moins un groupe, qui est identifié par le GID numérique correspondant à l'utilisateur dans le fichier /etc/password
. Ce groupe se nomme l'identifiant de groupe primaire. Un utilisateur peut être listé en tant que membre d'autres groupes dans les lignes appropriées du fichier /etc/group
; les identifiants de ces groupes sont des identifiants de groupes supplémentaires
Effectif et réel
[modifier | modifier le code]Les processus Unix ont des ID effectifs (EUID, EGID) et réels (UID, GID). Normalement ils sont identiques, mais le setgid les rends différents. Aussi bien les techniques du setgid ou setuid peuvent accomplir des fonctions privilégiés, elles peuvent facilement retourner à des UID ou GID non-privilégiés lorsque c'est nécessaire[1].
Références
[modifier | modifier le code]- (en) « Secure Programming for Linux and Unix HOWTO | Chapter 3. Summary of Linux and Unix Security Features », The Linux Documentation Project : règles pour utiliser EUID et EGID.
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Group identifier » (voir la liste des auteurs).