Script demarrage contenant des commande root
allergen
-
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?
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?
Configuration: Linux Opera 9.27
5 réponses
-
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.
-
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
-
-
-
#!/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 -
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 ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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-
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- 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
-