備忘録として記述
監視ログ
ssh接続ユーザーに対してscriptコマンドを使用し、ユーザーの操作画面を監視する
/etc/profile.d に監視用シェルスクリプトを配置
/etc/profile.d/oplog.sh
P_PROC=`ps aux | grep $PPID | grep sshd | awk '{print $11}'`
if [[ $P_PROC =~ sshd ]];
then
dir=/var/log/oplog/$USER/$(date +%Y)/$(date +%m); [ ! -e $dir ] && mkdir -m 700 -p $dir
script -qf $dir/$(date +%m%d_%H%M%S).log:
exit
fi
上記似て以下構造で監視ログが生成される
/var/log/oplog/
|-[user name]
|-[YYYY]
|-[mm]
|-mmdd_HHMMSS.log
ログローテ
Linuxで標準搭載されているlogrotateを使用する
logrotate.d配下に新しい設定を記述
/etc/logrotate.d
/var/log/oplog/*/*/*/*.log {
ifempty # ログファイルが空でもローテーションする
missingok # ログファイルがなくてもエラーを出さない
compress # 圧縮する
daily # 毎日ローテートする
noolddir # ローテーション対象のログと同じディレクトリにローテーションしたログを格納
}
圧縮ファイルがたまり続けることになるがひとまず、それはおいおい