le fichier de règles nufwacl comporte trois piles différentes :
le GID_TOUS est systématiquement positionné en premier, puis une règle correspondant au gid utilisateur est placée après, enfin un comportement par défaut.
Important
GID_TOUS et GID_GUEST n’est pas modifiable depuis la fenêtre de gestion des groupes d’era de l’interface mais uniquement depuis ce fichier de configuration
if tous==True:
# on met systematiquement le gid de tous (le domain user)
if directive.user_group.id: data['gid'] = GID_TOUS
contient l’ordonnancement des piles :
elle contient le code des piles d’ordonnancement des règles
# premiere pile de regles (authentifiées)
# pile de regles authentifiées
auth = []
# pile de règles "tous" correspondante
tous = []
# les règles "tous" sont à placer après les règles authentifiées
rules1 = tous + auth
# regles non authentifiées, policy par defaut, à placer en dernier
rules2 = list(get_default_policy(model_file))
# concatenation des piles de regles
rules = list(rules1) + list(rules2)
for zone1 in zones:
for zone2 in zones:
if zone1.level == zone2.level:
pass
elif zone1 < zone2:
if zone2.strict_eq(zone1):
if zone1.name == zone2.name:
continue
data = {
'Decision': '1',
'gid': GID_TOUS,
'description': "%s-%s" % (str(zone2), str(zone1)),
'indev': zone1.interface,
'outdev': zone2.interface,
}