# Lancement Firewall.sh au reboot

**URL:** <https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405>\
**Category:** Support Debian\
**Created:** [Avril 15, 2021, 7:25 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405 "2021-04-15T19:25:41Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Had3s99](https://www.debian-fr.org/user_avatar/www.debian-fr.org/had3s99/32/9317_2.png) [@Had3s99](https://www.debian-fr.org/u/Had3s99)\
**Post date:** [Avril 15, 2021, 7:25 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/1 "2021-04-15T19:25:41Z")

</div>

Bonjour,

J’ai un script nommé Firewall.sh (avec dedans de quoi faire mes iptables), et il ne se lance pas automatiquement au reboot malgré que j’ai bien mis une crontab au redémarrage avez vous une idée ?

Si vous avez besoin d’infos je reste à disposition,

Cordialement,

Had3s99

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Avril 16, 2021, 5:18 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/2 "2021-04-16T17:18:03Z")

</div>

Pas d’idée mais trois questions :

1. Le script s’exécute-t-il correctement quand il est lancé manuellement ?
2. Comment as-tu créé la crontab pour l’exécuter au démarrage ?
3. Comment vois-tu qu’il ne se lance pas au démarrage ?

---

<div class="post-metadata">

**Author:** ![Had3s99](https://www.debian-fr.org/user_avatar/www.debian-fr.org/had3s99/32/9317_2.png) [@Had3s99](https://www.debian-fr.org/u/Had3s99)\
**Post date:** [Avril 17, 2021, 2:51 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/3 "2021-04-17T14:51:00Z")

</div>

Salut,

1. Soit le lance avec sh /chemin/firewall.sh ou /chemin/firewall.sh
2. @reboot sh /chemin/firewall.sh
3. Mes règles d’iptables ne sont pas listés quand je fais iptables -L et certaines actions que j’ai bloqué ne le sont pas … ☹

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Avril 17, 2021, 3:51 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/4 "2021-04-17T15:51:18Z")

</div>

Bonjour,

Il faut montrer ta tâche cron. C’est souvent un problème de PATH qui n’est pas défini.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Avril 17, 2021, 5:24 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/5 "2021-04-17T17:24:54Z")

</div>

> [@Had3s99](#):
>
> @reboot sh /chemin/firewall.sh

Dans quelle crontab ? La crontab de root, la crontab système (/etc/crontab) ?

> [@Had3s99](#):
>
> Mes règles d’iptables ne sont pas listés quand je fais iptables -L

Ça ne prouve pas que le script n’est pas lancé. Seulement que les règles iptables ne sont pas créées.

> [@Had3s99](#):
>
> certaines actions que j’ai bloqué ne le sont pas … ☹

Actions ?

> [@anon70622873](#):
>
> Il faut montrer ta tâche cron

Elle est dans son second message. Tu voulais peut-être dire la crontab entière ?

> [@anon70622873](#):
>
> C’est souvent un problème de PATH qui n’est pas défini.

Typiquement iptables est appelé sans le chemin complet /sbin ou /usr/sbin selon la version qui ne figure pas dans le $PATH par défaut de cron.

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Avril 18, 2021, 5:35 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/6 "2021-04-18T05:35:23Z")

</div>

> [@PascalHambourg](#):
>
> > [@anon70622873](#):
> >
> > Il faut montrer ta tâche cron
> 
> Elle est dans son second message. Tu voulais peut-être dire la crontab entière ?

Oui je n’étais sans doute pas assez précis. Par « montrer la tâche cron » j’entends tout ce qui définit cette tâche : le fichier utilisé, éventuellement la commande pour le créer, son emplacement et son contenu complet.

---

<div class="post-metadata">

**Author:** ![Had3s99](https://www.debian-fr.org/user_avatar/www.debian-fr.org/had3s99/32/9317_2.png) [@Had3s99](https://www.debian-fr.org/u/Had3s99)\
**Post date:** [Avril 18, 2021, 12:44 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/7 "2021-04-18T12:44:30Z")

</div>

Hellow,

> [@PascalHambourg](#):
>
> Dans quelle crontab ? La crontab de root, la crontab système (/etc/crontab) ?

Alors moi je fais :

> crontab -e

Ou j’ai mis :

`@reboot sh /chemin/firewall.sh`

> [@PascalHambourg](#):
>
> Actions ?

Je voulais dire les iptables pour bloquer x port ou autre par exemple :X

> [@PascalHambourg](#):
>
> Typiquement iptables est appelé sans le chemin complet /sbin ou /usr/sbin selon la version qui ne figure pas dans le $PATH par défaut de cron.

Et là tu m’as perdu par contre x)

Merci de m’accorder de votre temps ! ^^

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Avril 18, 2021, 12:58 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/8 "2021-04-18T12:58:34Z")

</div>

> [@Had3s99](#):
>
> Alors moi je fais :
> 
> `crontab -e`

En tant que root je suppose ?

Ajoute le PATH dans ton fichier :

```plaintext
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

@reboot sh /chemin/firewall.sh

```

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Avril 18, 2021, 1:31 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/9 "2021-04-18T13:31:37Z")

</div>

> [@Had3s99](#):
>
> Alors moi je fais :
> 
> > crontab -e

En tant que quel utilisateur ?

> [@Had3s99](#):
>
> Ou j’ai mis :

Donc sans spécifier PATH. Ton script, il spécifie le chemin complet pour les commandes ou pas ?  
$PATH est la variable d’environnement qui contient les chemins dans lequels le shell va chercher les programmes qu’on lui fait lancer sans spécifier le chemin. Exemple :  
iptables → va chercher avec $PATH  
/sbin/iptables → ne va pas chercher avec $PATH  
Or d’après la page de manuel de crontab(5), le PATH par défaut ne contient que /bin et /usr/bin, mais pas /sbin ou /usr/sbin où se trouve iptables.

---

<div class="post-metadata">

**Author:** ![Had3s99](https://www.debian-fr.org/user_avatar/www.debian-fr.org/had3s99/32/9317_2.png) [@Had3s99](https://www.debian-fr.org/u/Had3s99)\
**Post date:** [Avril 19, 2021, 10:34 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/10 "2021-04-19T10:34:56Z")

</div>

Salut,

> [@anon70622873](#):
>
> En tant que root je suppose ?

Oui en session `Root`

> [@anon70622873](#):
>
> ```auto
> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
> 
> @reboot sh /chemin/firewall.sh
> 
> ```

Je cale le PATH dans crontab ou alors dans mon firewall.sh ?

> [@PascalHambourg](#):
>
> Donc sans spécifier PATH. Ton script, il spécifie le chemin complet pour les commandes ou pas ?  
> $PATH est la variable d’environnement qui contient les chemins dans lequels le shell va chercher les programmes qu’on lui fait lancer sans spécifier le chemin. Exemple :  
> iptables → va chercher avec $PATH  
> /sbin/iptables → ne va pas chercher avec $PATH  
> Or d’après la page de manuel de crontab(5), le PATH par défaut ne contient que /bin et /usr/bin, mais pas /sbin ou /usr/sbin où se trouve iptables.

Je vois mieux pourquoi déjà ça bloquait j’utilisais du sbin mais comme j’ai dit juste au dessus savoir si je mets le PATH dans crontab -e ou dans mon sh

merci encore !

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Avril 19, 2021, 11:06 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/11 "2021-04-19T11:06:55Z")

</div>

Dans le fihcier crontab.  
Il est toujours utile de lire les pages de man quand on a des doutes sur le fonctionnment de certaines commandes ou services, en l’occurrence : `man 5 crontab`

---

<div class="post-metadata">

**Author:** ![Had3s99](https://www.debian-fr.org/user_avatar/www.debian-fr.org/had3s99/32/9317_2.png) [@Had3s99](https://www.debian-fr.org/u/Had3s99)\
**Post date:** [Avril 19, 2021, 8:34 UTC](https://www.debian-fr.org/t/lancement-firewall-sh-au-reboot/84405/12 "2021-04-19T20:34:59Z")

</div>

> [@anon70622873](#):
>
> `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`

Ah j’avais pas installer le manuel mais j’avais jamais penser à ça en vrai mais merci de l’info,

Je viens de mettre en place le tout ça devrait être bon je pense ^^
