使用 bash 删除 CSF 'do not delete' IP 条目



是否有办法删除CSF ip(自动使用bash)有评论# do not delete追加到它?例如下面的列表:

1.1.1.1 # do not delete
1.2.3.4 # This is another IP # do not delete
1.2.3.5 # This IP is bad # do not delete

如果我使用CSF像这样去除IP1.1.1.1:

csf -dr 1.1.1.1

我将得到这个错误:

csf: 1.1.1.1 set as "do not delete" - not removed

当然,我可以通过编辑csf.deny和手动删除评论行# do not delete来删除这个IP,然后当我运行csf -d 1.1.1.1时,它将被删除。

CSF是否有强制删除此条目的选项,或者是否有通过bash脚本自动执行此操作的替代方法?有几百个条目都有这个# do not delete。因此,手工操作并不容易。

可以不使用csf -dr而使用grep命令:

#!/bin/bash
# Find IP:
ip="1.1.1.1"
search_csf_ip_without_comment=$(grep -w "^${ip}" "/etc/csf/csf.deny")
# If IP found:
if [[ -n "${search_csf_ip_without_comment}" ]]; then
echo "IP found, remove and restarting csf ..." 
grep -wv "^${ip}" "/etc/csf/csf.deny" >write.tmp && mv write.tmp "/etc/csf/csf.deny"
csf -r > /dev/null
else
echo "IP not found"
fi

相关内容

  • 没有找到相关文章

最新更新