Linux利用PROMPT_COMMAND实现审计功能


这个系统审计,记录什么用户,在什么时间,做了什么操作。 然后将查到的信息记录到一个文件里。

一. 配置

 

1. 在/etc/profile 文件的最后,添加如下2行代码:

 

 

 

export HISTORY_FILE=/var/log/`date ‘+%Y%m’`.log 

export PROMPT_COMMAND=’{ date “+%Y-%m-%d %T ##### $(who am i |awk “{print \$1\” \”\$2\” \”\$5}”)  #### $(history 1 | { read x cmd; echo “$cmd”; })”; } >> $HISTORY_FILE’ 

添加完成保存退出。这样任何操作命令都会在/var/log/日期.log中看到。还可以自己定义目录或者文件。让别人找不到 只允许自己看。只需要修改

 

export HISTORY_FILE=/var/log/`date ‘+%Y%m’`.log  这个记录就可

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

 

[root@node1 ~]#. /etc/profile 或者   [root@node1 ~]#source /etc/profile

 使更改生效,如果没有报错说明成功了。

 

验证日志里面是否有数据

 

 

 

[root@node1 ~]# more /var/log/201107.log

2011-07-21 17:29:08 ##### root pts/2 (192.168.23.250)  #### . /etc/profile

可以看到里面已经有数据。

 

还可以使用

 

 

 

PROMPT_COMMAND=’{ date “+%Y-%m-%d %T ##### USER:$USER IP:$SSH_CLIENT PS:$SSH_TTY #### $(history 1 | { read x cmd; echo “$cmd”; })”; } >>$HISTORY_FILE’

命令不一样但是结果是一样的。

 

本文出自 “badboy” 博客

相关内容

    暂无相关文章