码迷,mamicode.com
首页 > 系统相关 > 详细

Linux之history命令显示用户名和操作时间

时间:2015-03-06 17:23:47      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:export   history   profile   

Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认情况下,history 不记录命令的执行时间,如果要记录哪个用户执行了某些命令则需要我们通过修改/etc/profile 文件来实现

首先history显示用户名和命令执行时间比较简单,只要在/etc/profile文件追加

        export HISTTIMEFORMAT="%F %T `whoami` "


如果要显示登录IP,则需要先获取到源登录IP:

        USER_IP=`who -u am i 2>/dev/null| awk ‘{print $NF}‘|sed -e ‘s/[()]//g‘`

        if [ "$USER_IP" = "" ]

            then

                USER_IP=`hostname`

        fi


然后将USER_IP写入HISTTIMEFORMAT 即可

        export HISTTIMEFORMAT="%F %T `whoami` $USER_IP "


然后 source /etc/profile(不用重新登录而立刻生效) 执行history | more


1000  2014-12-08 10:05:09 root 192.168.10.136 history

1001  2014-12-08 10:14:24 root 192.168.10.136 cd root

1002  2014-12-08 10:14:27 root 192.168.10.136 ls

1003  2014-12-08 10:14:30 root 192.168.10.136 cd /opt

注意:当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会记录执行时间,在设置HISTTIMEFORMAT变量之前,命令执行的时间默认是不被记录的。


Linux之history命令显示用户名和操作时间

标签:export   history   profile   

原文地址:http://whitepoppy.blog.51cto.com/2061385/1617899

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!