我有以下bash脚本来读取日志并检查暴力,然后使用iptables阻止违反IP。bash脚本命令不能在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
我做了chmod 755.当我从终端运行命令它工作正常。但是,当我使用crontab -e
作为root设置cronjob时,它会将IP和回声消息“BANNED ...”发送到墙上,但是没有任何内容添加到iptables列表中。
PS。我尝试了#!/bin/bash
和#!/bin/sh
,但没有运气。
为什么你需要添加iptables规则在cron,如果你想添加的iptables rulesand你想他们是持久的,你可以将它们添加到/ etc/sysconfig/iptables或rc.local –
您需要正确设置您的PATH才能找到'iptables'。 –
这将需要重新启动iptables服务是吗? –