1. 苏葳的备忘录首页
  2. 操作系统

Linux的root用户日志

linux 日志上午出现一件事情,同事用root用户执行一条命令,本意是想将当前目录下的所有.bash_profile和.svn等等之类的所有以点号起头的隐藏文件和目录都改为另一用户和属组,命令为chown -R zzzz:zzzz .*。却不料这条命令的实际结果,却是将其上层所有目录下的文件,及上上层目录本身的属组,全部变为zzzz:zzzz。修复之后,又想起以前考虑的问题,如何查找root用户执行的每一条命令和时间以及远端IP?

.bash_histroy保存了每一条命令,last命令读取wtmp文件显示每次用户登录的IP和时间以及终端号等,那么现在一个关键的bash_history文件中能否记录每条命令的时间就成为关键了。

在/etc/目录下的bashrc文件中添加如下几行:

HISTFILESIZE=2000 //定义了在 .bash_history 中保存命令的记录总数
HISTSIZE=2000 //定义了 history 命令输出的记录数
#HISTIMEFORMAT="%Y%m%d-%H%M%S: " //定义了执行命令的时间格式
HISTTIMEFORMAT='%F %T ' //这个方法显示更清晰。

其实只要最后一行就能加上时间。

由于bashrc只在用户登录时才会调用,所以如果能在系统安装完成后马上加入,效果最好。

查看,用cat 或vi .bash_history文件,会看到类似

#1347434314
vi .bash_profile
#1347434326
vi .bash_profile
#1347434332
vi .bash_history
#1347434343
ls -aaaa
#1347434349

的内容,#号内的是unix时间。

可用histroy |more命令来格式化输出。

1001 2012-09-12 15:19:16vi .bash_history
1002 2012-09-12 15:19:23ls
1003 2012-09-12 15:19:28vi .bash_history
1004 2012-09-12 15:20:23history

 

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/411.html

发表评论

邮箱地址不会被公开。 必填项已用*标注

评论列表(4条)

  • 石笼网
    石笼网 2016年5月26日 08:55

    好文章,内容气吞山河.禁止此消息:nolinkok@163.com

  • 压滤机
    压滤机 2016年5月26日 09:01

    好文章,内容惊心动魄.禁止此消息:nolinkok@163.com

  • 隔离栅
    隔离栅 2016年5月26日 09:22

    不错的文章,内容远见卓识.禁止此消息:nolinkok@163.com

  • 安平物流
    安平物流 2016年5月26日 09:54

    不错的文章,内容学富五车.禁止此消息:nolinkok@163.com