samedi 17 novembre 2007, par JKlr
Exemple de script de démarrage gérant l’exécution de /etc/firewall.sh. Trois conditions start | stop | restart influencent le comportement de ce script :
/etc/init.d/firewall
#!/bin/sh
stop() {
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
}
case $1 in
"start")
/etc/firewall.sh
;;
"stop")
stop
;;
"restart")
stop
/etc/firewall.sh
;;
esacAfin que ce script s’exécute automatiquement ou se stop lors d’un changement de niveau d’initialisation (run level), un lien symbolique doit être créé dans chacun des répertoires /etc/rc]X.d/, où X détermine le niveau d’init.
De plus le nom de ce lien doit commencer par les lettres S ou K pour indiquer que le script doit être invoqué avec la variable start ou stop, suivit d’un numéro indiquant l’ordre d’exécussion par rapport aux autres scripts :
# ln -s /etc/init.d/firewall /etc/rc2.d/S20firewall<br/>
# ln -s /etc/init.d/firewall etc/rc0.d/K20firewallet ainsi de suite pour chacun des répertoires rcX.d.
Afin de simplifier la procédure, il est possible d’exécuter la commande suivant qui automatise la création des liens :
# update-rc.d firewall defaults 20
liens : le guide de andesi.org de Cédric LIGNIER.