查看用户以前执行的命令的具体时间
每个用户的$HOME目录下面有 .sh_history,里面记录了用户以前曾经执行过的命令。在默认情况下,这
个文件里面记录的仅仅是命令本身,不包含命令执行的具体时间。但是出于安全考虑,如何记录并查看以
前执行的命令的具体时间呢?
AIX 5.3引入了一个新的环境变量:EXTENDED_HISTORY=ON
当这个环境变量设置以后,.sh_history文件中不但记录命令本身,而且记录命令执行的具体时间。所以
建议将:
export EXTENDED_HISTORY=ON
这一行写入 /etc/profile 文件中。当需要查看历史记录的时候,可以使用fc -t命令。下面是一个例子
:
# fc -t
16 ? :: lssrc -s snmpd
17 ? :: cd etc
18 ? :: more snmpd.conf
19 ? :: fc -t
20 ? :: export EXTENDED_HISTORY=ON
21 2007/04/16 10:44:05 :: ls
22 2007/04/16 10:44:07 :: fc -t
从以上例子可以看到,在输出EXTENDED_HISTORY之前,
.sh_history文件没有记录命令的执行时间,所以对应位置显示的是?,在输出该变量以后,对应位置变成
了具体的时间。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
fc -t 什么意思?求解释
好东西,学习了
这个方法不错!谢谢LZ
问题是: 我每次进入系统都先 unset 掉那些变量(HISTSIZE, HISTFILE 等等),
并启动新的别的 shell , 取消记录历史, 就好像跑了一个脚本.
那些基于命令历史,sudo , sudoscript等等的审计对我一概无效.
我尝试了很久,觉得还是系统审计audit比较有效, 你再牛把 audit服务停了吧? 把audit数据删除了吧? 这不也很容易知道吗?
缺点就是使用audit太占资源了.
好东西,学习了
好像只显示了一部分,最后的。如何显示几天前的呢
好文章....我们的系统上也是这样做的,我能看到他们的执行命令和执行时间.