需要捕获在Linux上触发的命令

时间:2014-08-28 07:16:00

标签: linux shell unix audit

我想捕获用户在会话中触发的所有命令。这是审计目的所必需的。

我使用了下面的东西,

LoggedIn=`date +"%B-%d-%Y-%M:%H"`
HostName=`hostname`
UNIX_USER=`who am i | cut -d " " -f 1`
echo " Please enter a Change Request Number for which you are looging in : "
read CR_NUMBER
FileName=$HostName-$LoggedIn-$CR_NUMBER-$UNIX_USER
script $FileName

我已将此代码段放在.profile文件中,这样一旦用户登录到SU帐户,就会创建该文件。计划是将此文件推送到中央存储库,审计员可以在其中查看这些文件。

但这有几个问题。

  1. "脚本"命令假脱机来自会话的所有数据,例如,用户捕获属性文件,它将属性文件的所有数据附加到审计文件。

  2. 除非用户触发'退出'命令,数据不会假脱机到审计文件,如果用户使用out exit命令注销,审计文件将为空。

  3. 是否有更好的审核解决方案?历史文件不是一个选项,因为它不告诉我命令被触发的变更请求编号(我的组织内部)。有没有其他方法只捕获已触发的命令但不捕获输出?

    之前的一些讨论是herehere

1 个答案:

答案 0 :(得分:0)

我认为这个软件完全符合您的需求: