2013年1月27日日曜日

"psacct"でコマンド履歴を残す(CnetOS6)

スズキです。

下記のようにログインユーザーの作業内容の履歴を残す仕組みを紹介してきましが、
今回は"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"を再起動します。

とりあえずCentOSは、"psacct"、"bash(history)"、"audit(d)"、を入れておく感じかな?
--------
http://www.suz-lab.com

0 コメント: