让history命令显示出执行用户、执行时间、执行用户IP

因为之前遇到过命令审计,找不出某条命令是由哪个用户执行的,所以需要让history命令显示出执行用户、执行时间、执行用户IP,以便追踪。

  1. 在/etc/profile文件最后加两行:

    USER_IP=`who -u -m | awk '{print $NF}'| sed 's/[()]//g'`

    export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] "

  2. 执行命令

    source /etc/profile

  3. 随便敲几条命令

  4. 查看效果

    1047  [2017-03-21 15:13:25][root][192.168.233.1] history | tail -5

    1048  [2017-03-21 15:17:24][root][192.168.233.1] who -u -m | awk '{print $NF}'

    1049  [2017-03-21 15:17:58][root][192.168.233.1] who -u -m | awk '{print $NF}'| sed 's/[()]//g'

    1050  [2017-03-21 15:18:21][root][192.168.233.1] vim /etc/profile

    1051  [2017-03-21 15:19:17][root][192.168.233.1] source /etc/profile

    1052  [2017-03-21 15:19:22][root][192.168.233.1] a

    1053  [2017-03-21 15:19:23][root][192.168.233.1] s

    1054  [2017-03-21 15:19:24][root][192.168.233.1] d

    1055  [2017-03-21 15:19:25][root][192.168.233.1] f

    1056  [2017-03-21 15:19:34][root][192.168.233.1] history | tail -10



本文转自 青苗飞扬 51CTO博客,原文链接:http://blog.51cto.com/qingmiao/1908889
上一篇:PreAngel合伙人李卓桓:不会写代码的投资人读不好人工智能博士


下一篇:图解Skip List——本质是空间换时间的数据结构,在lucene的倒排列表,bigtable,hbase,cassandra的memtable,redis中sorted set中均用到