Pour supprimer toutes les régles iptable, j’utilise le script /root/raz-iptable.sh (voir plus bas).
En ligne de commande pas de pb mais avec cron cela ne fonctionne pas.
39 9 * * * root sh /root/raz-iptable.sh
cron.log:
Mar 25 09:39:01 ns0000000 CRON[3853]: (root) CMD (root sh /root/raz-iptable.sh)
Un iptables -L montre que les règles sont toujours actives
La commande root sh /root/raz-iptable.sh semble erronée. Il faut l’utiliser dans un terminal pour s’en convaincre.
Lui préférer sh /root/raz-iptable.sh ?
Dans quel fichier est ta tâche cron, et quel est son contenu complet ?
Le truc classique c’est qu’une tâche cron est exécutée dans un shell non connecté et non interactif, et donc les variables d’environnements ne sont pas renseignées. En particulier PATH.
Donc soit tu précises la valeur de PATH dans ton fichier cron : PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
soit tu utilises les emplacements complets des exécutables dans ton script : /usr/sbin/iptables
J’ai ajouté « root » pour indiquer/forcer l’utilisateur qui exécute la commande.
Mais même simplement :
39 9 * * * sh /root/raz-iptable.sh
ne fonctionne pas
En lisant différent post sur Internet le pb peut venir du path, j’ai modifié mon script mais pas mieux
#!/bin/sh
/sbin/iptables -F
…
J’ai aussi ajouté à la fin du script, pour voir s’il s’exécute:
…
date >> /root/ls.txt