Linux下查看历史操作记录
来源:岁月联盟
时间:2012-04-17
last命令可以用来查看用户的登陆记录。
history命令可以查看命令的执行历史。 www.2cto.com 常用日志文件如下: 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 www.2cto.com 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地址,是不是觉得很方便 呢?我们还可以用这个方法来监测系统的安全性。 www.2cto.com 可以看到在使用history命令的时候是没时间显示,不知道这个命令是什么时候所执行,这个时候可以编辑/etc/bashrc文件,加入如下三行: HISTFILESIZE=2000HISTSIZE=2000HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录这个时候,在~/.bash_History文件中,就有记录命令执行的时间了 作者 huaius