พยายามรวบรวมบิตและชิ้นส่วนของคำตอบก่อนหน้านี้พร้อมรายละเอียดเพิ่มเติมและคำสั่งแบบยาวสำหรับคนขี้เกียจ
คุณ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
ใน config ของฉันเอาต์พุตจะ'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