last命令可以用来查看用户的登陆记录。
history命令可以查看命令的执行历史。
常用日志文件如下:
- access-log 纪录HTTP/web的传输
- acct/pacct 纪录用户命令
- aculog 纪录MODEM的活动
- btmp 纪录失败的纪录
- lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录
- messages 从syslog中记录信息(有的链接到syslog文件)
- sudolog 纪录使用sudo发出的命令
- sulog 纪录使用su命令的使用
- syslog 从syslog中记录信息(通常链接到messages文件)
- utmp 纪录当前登录的每个用户
- wtmp 一个用户每次登录进入和退出时间的永久纪录
- xferlog 纪录FTP会话
但是~/.bash_history里面是没有时间的记录的,可以用下面的脚本来记录时间。通过在/etc/profile里面加入以下代码就可以实现:
- PS1="`whoami`@`hostname`:"'[$PWD]'
- history
- USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` #print $NF取最后一个域的字段
- if [ "$USER_IP" = "" ]
- then
- USER_IP=`hostname`
- fi
- if [ ! -d /tmp/dbasky ]
- then
- mkdir /tmp/dbasky
- chmod 777 /tmp/dbasky
- fi
- if [ ! -d /tmp/dbasky/${LOGNAME} ]
- then
- mkdir /tmp/dbasky/${LOGNAME}
- chmod 300 /tmp/dbasky/${LOGNAME}
- fi
- export HISTSIZE=4096
- DT=`date " %Y%m%d_%H%M%S"`
- export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
- chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
其实通过上面的代码不能看出来,在系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址,是不是觉得很方便 呢?我们还可以用这个方法来监测系统的安全性。
可以看到在使用history命令的时候是没时间显示,不知道这个命令是什么时候所执行,这个时候可以编辑/etc/bashrc文件,加入如下三 行:
- HISTFILESIZE=2000
- HISTSIZE=2000
- HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”
- export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录
这个时候,在~/.bash_History文件中,就有记录命令执行的时间了
阅读(4830) | 评论(0) | 转发(0) |