पिछले उत्तर के बिट्स और टुकड़ों को एक साथ रखने की कोशिश कर रहे हैं, आलसी के लिए कुछ और विवरण और लंबे आदेशों के साथ।
आपका 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
।
हालांकि, जैसा कि राबिन उल्लेख करता है, उस फ़ाइल को सीधे संपादित न करें, क्योंकि यह अपडेट के दौरान अधिलेखित हो जाएगा। इसके बजाय, /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