Bonjour,
J'essaye de modifier un script existant.
En gros, le script doit lancer cette commande:
Si IP est defini, cette commande fonctionne correctement en ligne de commande.Code:iptables -I INPUT -s ${IP} -m limit --limit 5/min -j LOG --log-prefix "Access Denied by OSSEC-HIDS" --log-level 7
Maintenant, la maniere dont est fait le script, la commande est lancee de cette facon:
Avec les variables definies de cette facon:Code:${IPTABLES} ${ARG}
Le probleme se passe a la substition des variables, j'explique:Code:
1
2 IPTABLES=/sbin/iptables ARG="-I INPUT -s ${IP} -m limit --limit 5/min -j LOG --log-prefix \"Access Denied by OSSEC-HIDS\" --log-level 7"
Le probleme vient de la substitution de \"Access Denied by OSSEC-HIDS\",Code:
1
2
3
4
5 $set -x + set -x $ ${IPTABLES} ${ARG} + /sbin/iptables -I INPUT -s 12.12.12.12 -m limit --limit 5/min -j LOG --log-prefix '"Access' Denied by 'OSSEC-HIDS"' --log-level 7 Bad argument `Denied'
c'est transforme en '"Access' Denied by 'OSSEC-HIDS"' donc en 4 parametres au lieu de 1.
Savez-vous comment je peux resoudre ce probleme?
Je precise que c'est pour modifier un script existant et que je garde comme contrainte cette facon de lancer l'executable et ses parametres
Merci!
David.