タグ・アーカイブ: 作業ログ

sudoを使ってると、使うたびに /var/log/messages へ
ログが吐き出されます。これでいいっちゃーいいのですが

1) sudoのログを別にとって、監査証跡にしたい
  (auditでもいい気がするが)

2) 実は /var/log/messages にsudoのログが吐かれるのは生理的にウザい

というわけで、sudoのログを分離することにします。

■■ sudoのログを取る

ここを見て、このとーりにやればできます。ただし、これだけだと、 /var/log/sudo.log にsudoに関するログが出力されるのはいいのですが、 /var/log/messages の出力がなくなるわけではありません。

■■ syslog.conf でsudoのログに関する設定

前の項では、local1でsudo.logをとる設定をしました(お手本サイトではlocal3と書いてありましたが、local0からlocal7まで、あいているものなら何でもよいです)。今度は、syslog.confで

1) /var/log/messagesにlocal1のログを吐かない
2) local1のログを /var/log/sudologとして吐き出す

という設定をします。

■ visudoコマンドでログに関する記述をする

sh-3.00# visudo

### 末尾に以下を追記
Defaults syslog=local1

■ syslog.conf修正

sh-3.00# cd /etc/
sh-3.00# cp -p syslog.conf syslog.conf.orig
sh-3.00# vi syslog.conf

ここを
local7.*                                                /var/log/boot.log

こうする
local1.*                                                /var/log/sudolog
local7.*                                                /var/log/boot.log

ここを
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

こうする
#*.info;mail.none;authpriv.none;cron.none               /var/log/messages
*.info;mail.none;authpriv.none;cron.none;local1.none    /var/log/messages

■■ 反映

sh-3.00# /etc/init.d/syslog restart
Shutting down kernel logger:                              [  OK  ]
Shutting down system logger:                            [  OK  ]
Starting system logger:                                     [  OK  ]
Starting kernel logger:                                       [  OK  ]

■■ 確認

sh-3.00$ sudo tail /var/log/sudolog
Jan  8 23:39:54 intra1 sudo:   shasta : TTY=pts/1 ; PWD=/home/shasta ; USER=root ; COMMAND=/usr/bin/tail /var/log/sudolog

sh-3.00# grep sudo /var/log/messages
※ 何も出力されていないこと

以上で設定は完了です。

※ 余談ですが・・・

以前、誤って syslog.conf で
*.info;mail.none;authpriv.none;cron.none;local1.none    /var/log/messages
とするべきところを
*.info;mail.none;authpriv.none;cron.none;sudo.none    /var/log/messages
としてしまい、一切のsyslog(/var/log/messages)が出力されなかったことがあります。。。その他のアプリケーションでエラーログが出て「あー俺バカだなー。こんな凡ミスしてらー」と気が付くことはあっても、そもそものsyslogが出力されないと、全く気が付く術がありません。この時は、コンソールに流れるメッセージで気が付きましたが、手元にないサーバだったら、きっとハマってたかもです。。。