/etc/init.d

Résolu
gerard2656 Messages postés 140 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Hello,
J'ai crée un fichier firewall.sh. Je ne parviens pas a le lancer apres des modifications par la commande
/etc/init.d/firewall.sh
J'ai ubuntu 6.10.
Où est le probleme???

16 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    affiche
    ls -l /etc/init.d/firewall.sh
    sinon tu parles de lancement de ton script au démarrage de ton système?

    Si oui tu as 2 possibilités

    - avec rc.local
    - avec un script de demarrage qui te permettra aussi de l'arrêter ou démarrer manuellement comme on fait avec les daemons
    2
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Ok, tu as de la chance :-)

    1. avec rc.local


    dans le fichier rc.local tu ajoutes le chemin vers ton script

    /chemin/vers/firewall.sh


    Si tu utilises la 2ème possibilité tu n'as pas besoin de rc.local


    2. avec un script de démarrage dans /etc/init.d


    tu crées 2 fichiers dans /etc

    iptables_start
    iptables_stop


    et un script de démarrage dans /etc/init.d que tu peux l'appeller

    iptables

    Pas besoin d'extension .sh

    le fichier /etc/iptables_start contiendra ce que tu as en firewall.sh

    le fichier /etc/iptables_stop c'est pour la désactivation du firewall (des fois on a besoin pour certains tests)
    et il contiendra
    #! /bin/sh
    #
    # Description: désactivation du firewall netfilter/iptables
    #
    # table FILTER
    #
    iptables -F
    iptables -X
    iptables -P INPUT   ACCEPT 
    iptables -P OUTPUT  ACCEPT
    iptables -P FORWARD ACCEPT 
    
    # la table NAT
    #
    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -P PREROUTING    ACCEPT
    iptables -t nat -P POSTROUTING   ACCEPT
    iptables -t nat -P OUTPUT        ACCEPT
    #
    # la table MANGLE
    #
    iptables -t mangle -F
    iptables -t mangle -X
    iptables -t mangle -P PREROUTING    ACCEPT
    iptables -t mangle -P INPUT         ACCEPT
    iptables -t mangle -P OUTPUT        ACCEPT
    iptables -t mangle -P FORWARD       ACCEPT
    iptables -t mangle -P POSTROUTING   ACCEPT
    
    

    Le script /etc/init.d/iptables
    #!/bin/sh
    
    case $1 in
    'start' )
    	/etc/iptables_start
    	;;
    'stop'	)
    	/etc/iptables_stop
    	;;
    *)
    	echo "usage: -bash {start|stop}"
    	;;
    esac
    

    Ensuite établi les droits
    chmod -v 0700 /etc/iptables_st*
    chmod -v 0700 /etc/init.d/iptables
    Et tu crées les liens
    update-rc.d -f start 99 2 3 4 5 iptables .


    Au démarrage dans le runlevel 2,3,4,5 le firewall sera en état de fonction

    Tu peux desactivé le firewall avec
    /etc/init.d/iptables stop

    Si tu fait des modifications tu peux le rélancer avec
    /etc/init.d/iptables start
    Si tu tapes
    /etc/init.d/iptables
    tu auras le message usage: -bash {start|stop}

    Attention!!!

    c'est un script minimal qui normalement dans ton cas doit faire l'affaire
    1
    1. gerard2656 Messages postés 140 Statut Membre 2
       
      Bonsoir
      Mon firewall.sh se lance bien lorsque je boot la machine mais je parviens tj pas a le relancer via /etc/init.d/firewall.sh stop ou start c'est selon. Je dois tj rebooter la machine
      Merci
      0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    je vais sortir, donc au cas où je te laisse la commande (toutefois tu pouvais regarder dans man update-rc.d )
    update-rc.d -f iptables start 99 2 3 4 5 .
    --
    lami20j
    1
    1. gerard2656 Messages postés 140 Statut Membre 2
       
      debian:/mnt/hdb5/ogg# find /etc/ -name 'iptables*'

      bash: debian:/mnt/hdb5/ogg#: Aucun fichier ou répertoire de ce type


      update-rc.d -f iptables start 99 2 3 4 5 .

      Adding system startup for /etc/init.d/iptables ...
      /etc/rc2.d/S99iptables -> ../init.d/iptables
      /etc/rc3.d/S99iptables -> ../init.d/iptables
      /etc/rc4.d/S99iptables -> ../init.d/iptables
      /etc/rc5.d/S99iptables -> ../init.d/iptables
      0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Ecoute, il faut lire attentivement mes messages (surtout 16)

    maintenant tu as créé les liens vers /etc/init.d/iptables (d'ailleurs je ne comprends pas debian:/mnt/hdb5/ogg# find /etc/ -name 'iptables*'

    bash: debian:/mnt/hdb5/ogg#: Aucun fichier ou répertoire de ce type
    )

    affiche
     ls -l /etc/iptables_st{art,op}

    essaie manuellement
     /etc/init.d/iptables
    /etc/init.d/iptables start
    iptables -v -L
    /etc/init.d/iptables stop
    iptables -v -L
    tu n'as qu'à suivre mes messages pas à pas
    1
    1. gerard2656 Messages postés 140 Statut Membre 2
       
      Bonsoir ou bonjour lami,
      J'ai suivi pas a pas ce que tu m'as dit et tout fonctionne impecablement.
      Merci bien pour ton aide.
      Super genial et en plus tu m'as appris quelque chose.
      Bon week end
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gerard2656 Messages postés 140 Statut Membre 2
     
    hello,
    J'ai deja fait ça mais il me marque aucun 'fichier de ce type'.
    Pour info, au lancement mon script firewall se lance bien

    ls -l /etc/init.d/firewall.sh
    Aucun fichier ou répertoire de ce type

    Voila là réponse
    merci
    0
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Alors tu dois commencer par me dire où se trouve ton fichier.
    0
    1. gerard2656 Messages postés 140 Statut Membre 2
       
      /home/gerard/scripts
      0
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Donc que veux tu faire?

    que ton script s'exécute au démarrage de système?
    que tu puisse contrôler le démarrage et la désactivation?
    les 2?
    Et j'ai besoin d'une info puisque Ubuntu je ne connais pas trop :-)
    Il y a le fichier /etc/init.d/rc.local sous Ubuntu?

    0
  9. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    je dois partir maintenant.
    Réponds à mes questions s'il te plaît. Merci.
    Si jamais tu ne trouves pas d'aide et si tu peux attendre jusqu'à demain je vais te donner dans les 2 cas que j'ai mentionné la solution détaillée.
    0
  10. gerard2656 Messages postés 140 Statut Membre 2
     
    coucou,
    oui, il y a un rc.local et mon script se lance au demarrage. J'aimerais seulement le relancer apres avoir fait quelques modifications style..

    /etc/init.d/firewall.sh start mais ça ne fonctionne pas il me repond qu'il est inexistant voilà... et pourtant il est bien là

    A ta question j'aimerais pouvoir controler les 2.
    Merci à toi et passe une bonne soirée.
    A bientot
    0
  11. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    ast-tu suivi mon message?
    si tu ne me dit pas ce que tu fait je ne peux pas savoir.
    le fait que tu me dit seulement que ça ne marche pas, ne m'est d'aucun aide

    as tu créé le script de démarrage?
    as-tu créé les scripts /etc/iptables_start et /etc/iptables_stop?
    0
    1. gerard2656 Messages postés 140 Statut Membre 2
       
      Alors voilà, j'ai edité un fichier iptables qui se nomme firewall.sh qui se trouve dans le chemin /home/gerard/scripts.
      Dans rc.local j'ai mis le chemin et ça fonctionne car il se lance au demarage de la machine. Toutefois j'aimerais relancer mon fitrewall.sh apres certaines modifications que jafais sans relancer la machine et via la commande /etc/init.d/firewall.Sh restart.... voila

      Merci pour ton dévouement
      0
  12. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Donc soit tu n'as pas lu mon message, soit tu n'as pas compris.

    On laisse tomber rc.local, donc enleve la ligne qui démarre ton script ou mets un # pour la commenté dans rc.local

    ensuite regarde mon message 8 à partir de 2. avec un script de démarrage dans /etc/init.d

    tu n'as qu'à respecter pas à pas

    Garde ton fichier firewall.sh dans le répertoire home/gerard/scripts. et on ne parle plus de lui

    On va parler de
    /etc/iptables_start
    /etc/iptables_stop
    /etc/init.d/iptables

    ce n'est parce que je t'impose de nommer les fichiers ainsi, mais seulement pour se comprendre, et une fois que tu as compris tu ferras ce que tu veux

    Et dans ton cas, pour t'expliquer un peu
    tu ne peux pas faire /etc/init.d/firewall.sh stop puisque le script firewall.sh n'est pas conçu pour ça

    Pour obtenir /etc/iptables_start tu peux taper en root
    mv /etc/init.d/firewall.sh /etc
    0
  13. gerard2656 Messages postés 140 Statut Membre 2
     
    mv: ne peut évaluer `/etc/init.d/firewall.sh': Aucun fichier ou répertoire de ce type
    0
  14. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Il me semble qu'on a melangé tout.
    c'est toi qui dit

    Toutefois j'aimerais relancer mon fitrewall.sh apres certaines modifications que jafais sans relancer la machine et via la commande /etc/init.d/firewall.Sh restart.... voila

    et maintenant tu me dit que le fichier n'existe pas

    je ne comprends rien du tout

    tape en root updatedb
    ensuite affiche
    locate rc.local
    locate firewall.sh 
    Ce que je ne comprends pas, c'est que si tu suis pas à pas mon message 8 tu dois t'en sortir.
    0
    1. gerard2656 Messages postés 140 Statut Membre 2
       
      Ok lami tu a raison,
      Lorsque j'ecris 'updatedb ' il ne me dit rien.

      locate rc.local
      /etc/init.d/rc.local
      /etc/rc2.d/S99rc.local
      /etc/rc3.d/S99rc.local
      /etc/rc4.d/S99rc.local
      /etc/rc5.d/S99rc.local
      /etc/rc.local
      /etc/rc.local~

      locate firewall.sh
      /home/gerard/scripts/firewall.sh
      /home/gerard/scripts/firewall.sh~
      0
  15. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    en root

    cat  /home/gerard/scripts/firewall.sh > /etc/iptables_start
    ici tu trouve le script iptables_stop que tu dois le sauvegarder dans /etc
    ici tu trouves le script iptables que tu dois le sauvegarder dans /etc/init.d

    Ensuite établi les droits
    chmod -v 0700 /etc/iptables_st*
    chmod -v 0700 /etc/init.d/iptables
    Et tu crées les liens
    update-rc.d -f start 99 2 3 4 5 iptables .
    Et affiche
    tail /etc/rc.local
    tail /etc/initd/rc.local
    locate rc.local | while read i;do ls -l $i;done 2>/dev/null
    0
    1. gerard2656 Messages postés 140 Statut Membre 2
       
      Voila Lami, j'ai tout ce que tu m'as dit m'est lorsque je fait

      update-rc.d -f start 99 2 3 4 5 iptables .

      Voila ce qu'il me repond

      update-rc.d: /etc/init.d/start: file does not exist


      SNIFFFF
      0
  16. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Hello,

    c'est ma faute :-)) j'ai fait une erreur, mais ce n'est pas grave :-))
    avant de te donner la bonne commande

    affiche s'il te plaît
    debian:/mnt/hdb5/ogg# find /etc/ -name 'iptables*'
    /etc/init.d/iptables
    /etc/iptables_start
    /etc/iptables_stop
    
    j'espère que tu obtiendrai le même resultat :-))
    0
  17. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    je suis content que tu as réussi :-))

    Bon week-end à toi.
    0