logwatchでやってくるメールを止める root宛のメール転送設定 ( 環境構築四苦八苦 4th Day )


ずぅっと前にさくらVPSにRails入れて、PerlやらRubyやらPythonやら入れてほげっと遊んでたのですが、そこにLogwatchも入れていた様で、気づくと彼からのメールが止まらない。。。

あれ、どこにインストールしたっけ?てか、インストールしてたよね?,、('∀) '`,、??
ってなったので、もろもろ確認して、メール送信を止めさせます。

$ yum list installed
logwatch.noarch        7.3.6-49.el6     @base  

まず、yumでインストールしていたのはわかりました。

一応、動いてんのか?ってことを知りたい場合は以下のコマンドを打つといいかも。

# ログを表示
$ logwatch print
# メールを送る
$ logwatch mailto example@example.com

さて本題。
で、コンフィグファイルどこにあんのよ?ってなったら以下。

$ locate logwatch.conf
/etc/logwatch/conf/logwatch.conf
/usr/share/logwatch/default.conf/logwatch.conf

/usr/share/logwatch/default.conf/logwatch.conf の方が優先的に扱われる様です。
という訳で、設定ファイル編集。

$ vim /usr/share/logwatch/default.conf/logwatch.conf
#MailTo = root
# Default person to mail reports to.  Can be a local account or a
# complete email address.  Variable Print should be set to No to
# enable mail feature.
MailTo = root

ほう、root宛にメールを投げている。
root宛のメールの受取人って誰よ?ってことでチェック。

$ sudo vim /etc/aliases
# Person who should get root's mail
root: watashi@anata.wx.yz

ここをゴニョって、変更内容を有効化するには、newaliases コマンドを実行する。
MailTo: のところをいじるといいです。

sudo newaliases
$ ls -l /etc/aliases*
-rw-r--r-- 1 root root  1547  4/4 19:12 2013 /etc/aliases
-rw-r--r-- 1 root root 12288  4/4 19:14 2013 /etc/aliases.db 

でも、これしたら、その他のroot宛のメールも受け取れなくなるので、これ今回はやらない。
複数人宛にメールを飛ばしているときはここをいじるけど、私一人だけの鯖で、logwatchだけ省きたいって時はこう↓↓

logwatchのメールを飛ばしているcronを編集しに行く

$ cd /etc/cron.daily
$ ls -l
-rwxr-xr-x  1 root root  265  4/5 19:17 2011 0logwatch

この 0logwatch を実行させなくする。
実行権限をなくします。

$ sudo chmod -x 0logwatch
$ ls -l 0logwatch /usr/share/logwatch/scripts/logwatch.pl
-rw-r--r-- 1 root root   265  4/519:17 2011 0logwatch

これでlogwatchからメールはもう届かないはず。