2014-04-10 9 views
5

Ho il seguente script di bash per leggere i registri e controllare la forza bruta, quindi bloccare l'IP che viola usando iptables.Comandi di script Bash non funzionanti in cron

#!/bin/bash 
#blah blah run some commands to get the IP 
iptables -A INPUT -s $p -j REJECT --reject-with icmp-host-prohibited 
echo "BANNED $p FOR $COUNT ATTEMPTS" |wall 

ho fatto chmod 755. Quando eseguo il comando dal terminale funziona benissimo. Ma quando imposto un cronjob usando crontab -e come root, ottiene l'IP ed echos il messaggio "BANNED ..." al muro ma nulla viene aggiunto all'elenco di iptables.

PS. Ho provato sia #!/bin/bash e #!/bin/sh ma senza fortuna.

+0

perché avete bisogno di aggiungere regole di iptables in cron, se si desidera aggiungere iptables rulesand si desidera che siano persistenti è possibile aggiungerli a/etc/sysconfig/iptables o rc.local –

+0

È necessario impostare correttamente il PERCORSO per trovare 'iptables'. –

+0

che richiederebbe il riavvio del servizio iptables sì? –

risposta

12

Provare a fornire il percorso completo a iptables, ad es.

$ which iptables 
/sbin/iptables 

e di modificare lo script del genere: \

#!/bin/bash 
#blah blah run some commands to get the IP 
/sbin/iptables -A INPUT -s $p -j REJECT --reject-with icmp-host-prohibited 
echo "BANNED $p FOR $COUNT ATTEMPTS" |wall 
+0

Works thank you! –

0

provare la seguente soluzione dovrebbe funzionare per voi:

cat cronjob 
* * * * * /path/to/script.sh 

Poi:

chmod +x cronjob 
chmod +x script.sh 

/etc/init.d/crond start #redhat based servers like centos 
/etc/init.d/cron start #debian based servers like ubuntu 

crontab cronjob 

NOTA: A volte è necessario immettere il percorso completo del comando iptables, se le regole non vengono aggiunti alla /etc/sysconfig/iptables .

+0

Mentre questa è una soluzione più generale e interessante, non penso che sia un problema sulla configurazione di cronjob, ma sui percorsi degli script. – fedorqui

+0

Sì. Il percorso di script e percorso del comando iptables è forse il problema – MLSC