Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2454005
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: LINUX

2012-04-16 18:43:02

last命令可以用来查看用户的登陆记录。
history命令可以查看命令的执行历史。

常用日志文件如下:
  1.     access-log   纪录HTTP/web的传输
  2.     acct/pacct   纪录用户命令
  3.     aculog     纪录MODEM的活动
  4.     btmp      纪录失败的纪录
  5.     lastlog     纪录最近几次成功登录的事件和最后一次不成功的登录
  6.     messages    从syslog中记录信息(有的链接到syslog文件)
  7.     sudolog     纪录使用sudo发出的命令
  8.     sulog      纪录使用su命令的使用
  9.     syslog     从syslog中记录信息(通常链接到messages文件)
  10.     utmp      纪录当前登录的每个用户
  11.     wtmp      一个用户每次登录进入和退出时间的永久纪录
  12.     xferlog     纪录FTP会话

但是~/.bash_history里面是没有时间的记录的,可以用下面的脚本来记录时间。通过在/etc/profile里面加入以下代码就可以实现:

  1.   PS1="`whoami`@`hostname`:"'[$PWD]'
  2.   history
  3.   USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` #print $NF取最后一个域的字段
  4.   if [ "$USER_IP" = "" ]
  5.   then
  6.   USER_IP=`hostname`
  7.   fi
  8.   if [ ! -d /tmp/dbasky ]
  9.   then
  10.   mkdir /tmp/dbasky
  11.   chmod 777 /tmp/dbasky
  12.   fi
  13.   if [ ! -d /tmp/dbasky/${LOGNAME} ]
  14.   then
  15.   mkdir /tmp/dbasky/${LOGNAME}
  16.   chmod 300 /tmp/dbasky/${LOGNAME}
  17.   fi
  18.   export HISTSIZE=4096
  19.   DT=`date " %Y%m%d_%H%M%S"`
  20.   export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
  21.   chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
其实通过上面的代码不能看出来,在系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址,是不是觉得很方便 呢?我们还可以用这个方法来监测系统的安全性。

可以看到在使用history命令的时候是没时间显示,不知道这个命令是什么时候所执行,这个时候可以编辑/etc/bashrc文件,加入如下三 行:

  1. HISTFILESIZE=2000
  2. HISTSIZE=2000
  3. HISTTIMEFORMAT=%Y%m%d-%H%M%S:
  4. export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录
这个时候,在~/.bash_History文件中,就有记录命令执行的时间了








阅读(4836) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~