知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Linux利用PROMPT_COMMAND实现审计功能

发布时间:2014-09-05 17:09:38作者:知识屋

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

一. 配置

 

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” 博客

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜