Après avoir présenté les règles Gaspacho (1 et 2), il faut s'attarder sur la notion de groupe.

Si l'administrateur ne devrait pas avoir besoin de gérer lui même les règles (sauf si la règle dont il a besoin n'existe pas encore), il devra créer les groupes.

Un groupe est un ensemble de machines disposant des mêmes configurations. Il est possible d'associer des utilisateurs pour différencier les configurations suivant le profile de la personne qui se connecte à la machine.

Les groupes

Un groupe est d'abord un libellé. Il est directement visible dans l'interface de configuration.

Pour limiter le nombre de règles disponible, ce groupe peut être lié à un ou plusieurs systèmes ou un ou plusieurs logiciels. Dans ce cas, seuls les règles concernant ces logiciels ou systèmes seront proposées.

Enfin, pour classer les groupes, un niveau est associé à ce groupe. En effet, le première groupe qui comprends aux critères de la machine se connectant sera le groupe de la machine. Il est alors important de pouvoir les classer.

Les groupes de machine

Une fois défini, le groupe est lié à un ensemble de machines. Un machine est décrite soit par son adresse IP, soit par son nom DNS. Dans le nom DNS ou l'IP il est possible d'utiliser les motifs inspirés du shell Unix :

*        remplace tout
?        remplace un seul caractère
[seq]    remplace tous caractères dans "seq"
[!seq]   remplace tous caractères en dehors de "seq"

Les utilisateurs ou groupes d'utilisateurs

Le groupe peut également être lié à un ensemble d'utilisateurs. Il est possible de définir des utilisateurs ou des groupes d'utilisateurs. Le nom de l'utilisateur primant sur son groupe primaire.

Si l'utilisateur n'est pas définit ou n'appartient pas aux groupes, il récupèrera les paramétrages du groupe directement

Les templates

En plus des groupes, il existe les templates. Les templates ont les mêmes propriétés qu'un groupe sauf qu'il n'est pas possible de lui associer des groupes de machine. Les templates sont utiles dans le cadre de l'héritage. Les templates peuvent être associés à des groupes différents.

L'héritage des groupes

Le mécanisme d'héritage permet mettre en commun des réglages pour différents groupes.

Exemple d'héritage :

default (None, user1, user2)
   |
   '--group1 (None, user1, user2)
         |
         |--group2 (None, user1, user2)
         |
         template1 (None, user1, user2)

Si l'utilisateur user1 se connecte à group2, le parcours de l'héritage se fera de la manière suivante :

  1. user1 sur group2 ;
  2. group2
  3. user1 sur group1 ;
  4. group1
  5. user1 sur template1 ;
  6. template1 ;
  7. user1 sur default ;
  8. default

Si l'utilisateur n'est pas user1 ni user2 :

  1. group2
  2. group1
  3. template1
  4. default

Le concept de template prend tout son sens. Les groupes ne peuvent hériter que de ses parents alors qu'un template peut concerner plusieurs groupes avec des parents complètement différents.

Liens :

  1. http://gnunux.info/dotclear2/index.php?post/2010/09/17/Les-regles-dans-Gaspacho
  2. http://gnunux.info/dotclear2/index.php?post/2010/09/18/Proprietes-des-regles-Gaspacho