Linux下查看用户登陆后的操作记录及history命令显示时间
2013-04-03 17:51
676 查看
在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据,而我们又不知道是谁在上面做了误操作,这时我们如何记录下是哪个ip做了哪些操作呢?
这时候通过查看历史记录(命令:history)是没有什么意义了。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?
通过在/etc/profile里面加入以下代码就可以实现:
可以看到在使用history命令的时候是没时间显示,不知道这个命令是什么时候所执行,这个时候可以
编辑/etc/bashrc文件,加入如下三行:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M%S:"
export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录
这个时候,在~/.bash_History文件中,就有记录命令执行的时间了
用cat命令显示这个文件,但是却会看到这个时间不是年月日显示的
这时候通过查看历史记录(命令:history)是没有什么意义了。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?
通过在/etc/profile里面加入以下代码就可以实现:
#vim /etc/profile USER_IP=`who -u am i 2>/dev/null|awk '{print $NF}' | sed -e 's/[()]//g'` 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 # # source /etc/profile
可以看到在使用history命令的时候是没时间显示,不知道这个命令是什么时候所执行,这个时候可以
编辑/etc/bashrc文件,加入如下三行:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M%S:"
export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录
这个时候,在~/.bash_History文件中,就有记录命令执行的时间了
用cat命令显示这个文件,但是却会看到这个时间不是年月日显示的
相关文章推荐
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux下查看用户登陆后的操作记录及history命令显示时间
- Linux命令——history查看用户操作记录及时间
- LINUX用户登录后精确命令记录(history 按时间、用户显示命令记录)
- Linux 配置 history 命令显示操作时间、用户和登录 IP
- linux 命令执行历史记录history显示执行时间和用户
- Linux:history命令记录操作时间、操作用户、操作IP
- 解决CentOS 7 history命令不显示操作记录的时间和用户身份问题 推荐
- linux的history命令显示操作用户、显示操作时间、命令
- linux中history命令显示操作执行的时间配置
- 让linux的history命令显示操作时间
- Linux下查看用户登陆后的操作记录
- Linux下查看用户登陆后的操作记录
- linux 如何让linux的history命令显示时间记录
- Linux下查看用户登陆后的操作记录
- Linux下查看用户登陆后的操作记录
- 如何让linux的history命令显示时间记录
- Linux下查看用户登陆后的操作记录