ログインユーザーの作業履歴を残す仕組みを、以前外部ブログにて紹介しました。
「BashのHistoryをSyslogに出力(CentOS6)」
「CentOS(6)でaudit(d)のログをsyslogに出力」
そこで今回は、psacctを試してみました。
○インストール&(自動)起動
yumでインストールすることができます。
# yum -y install psacct
...
# chkconfig psacct on
# service psacct start
プロセスアカウントを開始中: [ OK ]
○履歴の確認
/var/account/pacctに履歴が保存されていますが、バイナリ形式のため閲覧にはlastcommを利用します。
# lastcomm
sshd S root __ 0.00 secs Sun Jan 27 07:09
sshd SF sshd __ 0.00 secs Sun Jan 27 07:09
khelper F root __ 0.00 secs Sun Jan 27 07:09
modprobe root __ 0.00 secs Sun Jan 27 07:09
lastcomm root pts/1 0.00 secs Sun Jan 27 07:08
sshd S root __ 0.00 secs Sun Jan 27 07:08
sshd SF sshd __ 0.00 secs Sun Jan 27 07:08
khelper F root __ 0.00 secs Sun Jan 27 07:08
modprobe root __ 0.00 secs Sun Jan 27 07:08
lastlog root pts/1 0.00 secs Sun Jan 27 07:08
ls root pts/1 0.00 secs Sun Jan 27 07:08
service root pts/1 0.00 secs Sun Jan 27 07:07
psacct root pts/1 0.00 secs Sun Jan 27 07:07
touch root pts/1 0.00 secs Sun Jan 27 07:07
accton S root pts/1 0.00 secs Sun Jan 27 07:07
※コマンドの引数は確認できないため、Bash(History)と併用するのが効果的です。
○履歴のクリア
履歴ファイル(/var/account/pacct)を削除します。
# rm -f /var/account/pacct
※削除するとpsacctは機能しなくなるため、再び機能させるにはpsacctを再起動します。