Script demarrage contenant des commande root

allergen -  
 Allergen -
Bonjour,


J'essai de lancer un script d'iptables au demarrage.

Mais iptables doit etre executer en root. Ca pose un probleme non?

J'ai lis mes reles iptables dans un script dans /etc/init.d
chmod +x sur le script
et j'ai mis a jour les rcX.d avec la commande update-rc.d nomDuScript defaults 99


Malgrés tout ca le script n'est pas lancé et les iptables ne sont pas mise comme il faut a pres le demarrage.

Faut il une comande special pour executer en root?


-----------
PS j'ai essayer aussi les comande iptables-save et restore mais elle ont besoin qu on se log en root pour le lancer.
Les script de demarrage ne se lance pas en root?
A voir également:

5 réponses

xiloa Messages postés 2149 Statut Contributeur 199
 
salut
Ce n'est pas des sarcasmes, c'est juste pour savoir si tu maitrises ce que tu fais.
Les script init.d sont lancés par root, il n'y a donc rien à faire de particulier pour lancer les commandes à l'intérieur.
Toutefois, on prendra le soin d'appeler les commandes par leur chemin absolu ( /sbin/chkrootkit par ex. )
ton script doit être dans rc5.d et s'appeler S00xxxxxxxxxx, avec 00 le numero de démarrage de ce script. Il doit s'appeler K00xxxxxxxxx pour s'xecuter à l'arret.
1
allergen
 
Merci beaucoup, j'ai passé pas mal de temps a éudier la sécurité avec les outils standard et je veux la mettre en application,

dans le script il faut donc utiliserr /sbin/iptables -A ACCEPT etc etc ?

J'ai vu queque forum qui mettait en garde sur des possibles variables d'environnement a ajouter au script.

Merci de ton aide
0
xiloa Messages postés 2149 Statut Contributeur 199
 
oulaa
tu maitrises un peu ou c'est de l'impro ?
0
allergen
 
j'apprend.

Je demande si les script peuvent contenir des commande ayant besoin du statut root (comme iptables)!!

Je me passe des sarcasmes
merci
0
allergen
 
#!/bin/bash


/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


J'ai mis ce script, il fonctionne tres bien lorsque je l'execute en console.

Mais il ne s'éxécute pas au démarrage
(update-rc.d iptables-start defaults 99) il est mis en K pour rc0 , 1 et 6 les autres en S .

Merci
0
xiloa Messages postés 2149 Statut Contributeur 199
 
salut, passe un ligne echo " demarrage script manuel" pour voir ensuite avec dmesg si le script a été lancé . A priori çadevrait être bon. Mais es tu sur que ta distrib ne lance pas elle meme un truc pour le pare feu ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
allergen
 
Oki j'essaie ca de suite.

Si ca ce pourrait bien, parce que justement le parfeu est initialisé d 'un facon qui ne me plait pas du tout.

Merci
0
allergen
 
Je ne vois pas la ligne de l'echo dans dmesg

(j'ai ajouté echo "demarrage iptable manuel" dans le fichier dans le init.d
dans une console apres le demarrage je tape dmesg | grep manuel et rien)

Et je ne sais pas quand le firewall s'initialise , dans quel fichier ni a quel moment du démarrage.


Merci
0
xiloa Messages postés 2149 Statut Contributeur 199 > allergen
 
salut,
ça depend de ta distrib. Tu as aussi des gui comme Firestarter ou Guarddog qui simplifie le boulot.
0
user > xiloa Messages postés 2149 Statut Contributeur
 
ces trucs la jeles trouve foireux , ils se ferme en cours de route.

J'ai reussi a faire fonctionner le script mais alors je ne comprend pas trop. Tout a changé alors qu on me sugere de rajouer des sleep (pas pour etre plus propre :D) mais pour mieux voir les trace au demarrage. Et avec ca fonctionne. Dur a comprendre...

Ca marche pas
[code]#!/bin/bash
IPT=/sbin/iptables


echo "Demarrage Iptable-Start manuel"
case "$1" in
start)
$IPT -F
etc etc
[/code]


ca marche
[code]
#!/bin/bash
IPT=/sbin/iptables

sleep 4
echo "################################################## #########################"
sleep 4
echo "Demarrage Iptable-Start manuel"
case "$1" in
start)
$IPT -F
etc etc etc...
[/code]

Merci
0
Allergen > user
 
ce message est de moi
0