msmtp를 사용하여 이메일을 보내도록 Fail2ban을 설정하는 방법은 무엇입니까?
mta = sendmail
줄을 로 변경 mta = msmtp
하고 action = %(action_)s
줄을 로 변경해 보았습니다 action = %(action_mwl)s
.
파일을 올리고 싶은데 /etc/fail2ban/action.d/msmtp-whois-lines.conf
무엇을 넣어야 할지 모르겠습니다.
일반적으로 명령줄에서 메일을 보낼 수 있으며 비밀번호가 필요하지 않습니다.echo -e "Subject: subject\nMessage contents" | msmtp [email protected]
답변1
내가하고 싶은 일은 다음과 같습니다.
첫 번째는 모든 action.d/sendmail-*.conf
파일을 파일에 복사하는 것입니다 action.d/msmtp-*.conf
.
for file in /etc/fail2ban/action.d/sendmail*.conf; do cp "$file" "${file/sendmail/msmtp}"; done
다음 단계는 파일에서 발생 항목을 변경하는 것입니다 before = sendmail
.before = msmtp
action.d/msmtp-*.conf
sed -i 's/before = sendmail/before = msmtp/' /etc/fail2ban/action.d/msmtp-*.conf
이렇게 하면 다른 sendmail 구성 파일의 오류가 수정됩니다 before = sendmail-common.conf
.
sendmail -f <sender>
그런 다음 to 의 모든 항목을 msmtp
다음으로 변경합니다 action.d/msmtp-*.conf
.
sed -i 's/sendmail -f <sender>/msmtp/p' /etc/fail2ban/action.d/msmtp-*.conf
sendmail
이렇게 하면 like 라는 줄이 수정됩니다 Fail2Ban | /usr/sbin/sendmail -f <sender> <dest>
.
마지막 단계는 mta = msmtp
파일 을 변경하는 것입니다 action.d/jail.conf
. 그런 다음 FAIL2BAN을 다시 로드하여 이러한 수정 사항이 효과적인지 테스트하십시오.
명심해야 할 또 다른 사항은 Fail2ban이 msmtp의 사용자 컨텍스트를 기준으로 구성된다는 것입니다. 로컬 msmtprc
파일을 구성하는 경우, fall2ban이 msmtp 실행을 시도할 때 다른 사용자 컨텍스트로 인해 해당 파일이 적용되지 않을 수 있습니다. 이 경우 전역 구성을 사용하여 msmtp를 구성하거나, fall2ban을 실행하는 사용자에 대해 별도의 구성을 만듭니다.
답변2
평판이 충분하지 않아 아래에 직접 댓글을 달 수 없습니다.램버트답변이 매우 도움이 되었습니다. 여기에 제 생각을 추가하겠습니다.
~처럼텍사스 홍수그들은 당신이 실행해야한다는 의견을 지적합니다.
sudo sed -i 's/\/usr\/sbin\/sendmail/\/usr\/bin\/msmtp/' /etc/fail2ban/action.d/msmtp*.conf
그리고 [마크이메일을 보내텍사스 홍수 대신메일 전송 프로토콜! - 그냥 오타일 수도 있습니다.]
추가해야 할 수도 있습니다.스도앞에CP또는sed제대로 작동하려면.