让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
相关文章
|
运维 监控 关系型数据库
DO447管理任务执行--速度执行优化
DO447管理任务执行--速度执行优化
206 0
DO447管理任务执行--速度执行优化
|
存储 Java PHP
深入了解session的执行步骤
深入了解session的执行步骤
123 0
深入了解session的执行步骤
|
运维 API 网络安全
DO447管理任务执行--控制任务执行
DO447管理任务执行--控制任务执行
146 0
DO447管理任务执行--控制任务执行
|
运维 数据库
DO447管理任务执行--运行选定的任务
DO447管理任务执行--运行选定的任务
172 0
DO447管理任务执行--运行选定的任务
|
Java 调度
taskfactory默认执行慢的问题
Task.Factory.StartNew不是直接创建线程,创建的是任务,它有一个任务队列,然后通过任务调度器把任务分配到线程池中的空闲线程中,如果任务的数量比线程池中的线程多,线程池的线程数量还没有到达上限,就会创建新线程执行任务。如果线程池的线程已到达上限,没有分配到线程的任务需要等待有线程空闲的时候才执行。
298 0
禁止隐藏 history 命令,禁止执行某条命令
通过环境变量替换某条命令
610 0
|
Shell
shell之通过if [ $? != 0 ]判断上次程序是否执行成功
shell之通过if [ $? != 0 ]判断上次程序是否执行成功
700 0