尝试将先前答案的点点滴滴整理在一起,并附上一些更多的详细信息和冗长的命令。
您jail.{conf,local}
定义邮件的发送方式。默认情况下为sendmail
。检查:
grep 'mta *=' jail.{conf,local}
要查看为监狱配置了哪些开始/停止操作,请使用 fail2ban-client -d
。
将两者放在一起:
mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d | awk "/action(start|stop).*$mta/ {print \$4}" | sort -u
在我的配置中,输出是'sendmail-whois-lines',
要编辑的文件。假设您的配置位于/ etc / fail2ban下,则完整文件名为/etc/fail2ban/action.d/sendmail-whois-lines.conf
。
但是,正如Rabin所述,请勿直接编辑该文件,因为在更新期间它将被覆盖。相反,创建/etc/fail2ban/action.d/sendmail-whois-lines.local
(或action.d/file-name.local
配置中正确的任何内容)并添加以下行:
[Definition]
actionstart =
actionstop =
或者,对于那些懒得查找和创建正确文件的懒惰人:
mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d \
| awk "/action(start|stop).*$mta/ {print \$4}" \
| sort -u \
| while read f; do \
f=${f//\'/}
f="/etc/fail2ban/action.d/${f/%,/}.local"
cat <<EOF >>"$f"
[Definition]
actionstart =
actionstop =
EOF
done