因为之前遇到过命令审计,找不出某条命令是由哪个用户执行的,所以需要让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