Re: Firewall "générique"
Wed, 06 Oct 2004 20:31:04 +0200, Jean Baptiste FAVRE a écrit :
>[...]
> Forcément, ça marche mieux qu' "include" ;-)
> Je vais regarder cela demain (c'est pour le boulot).
> Par hasard, juste en passant, on pourrait pas inverser (c-a-d définir
> les variables et faire un "source" ou équivalent du script iptables ?).
Ben si, ça marche aussi. « source » (ou « . » dans certains shells,
notamment bash) correspond à un « include ». On notera donc que, génie
lociellement parlant, ce qui est « includé » est ce qui est réutilisable
(en général fonctions et autres définitions).
On peut donc, en gros, voir trois parties dans un logiciel :
- les paramètres (configuration) ;
- les définitions réutilisables (fonctions, structures, etc.) ;
- le corps (non réutilisable).
Dans ton cas, tu peux faire :
{{
toto="coucou"
source <le script générique qui utilise $toto>
}}
ce qui fait que tu dois modifier le script pour changer les paramètres,
ou :
{{
source <fonctions qui utilisent $1, $2...>
ma_fonction "toto" "tutu"
}}
idem mais point de vue inversé et plus langage de programmation (les
fonctions sont plus génériques : elles ne sont pas liées à des variables
globales),
ou, plus modulaire :
{{
source <fonctions qui utilisent $1, $2...>
source <paramètres>
ma_fonction $toto $tutu
}}
ce qui fait que les fonctions et le script principal ne sont pas modifiés,
seul le fichier de paramètres est à modifier (plus propre à mon avis :
on peut placer les paramètres dans /etc et les scripts dans des
répertoires en read-only (genre /usr/local/sbin)).
Bon courage,
--
Sylvain Sauvage
Reply to: