ログインユーザーの作業履歴を残す仕組みを、以前外部ブログにて紹介しました。

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を再起動します。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら