记录用户操作历史命令history
1.第一种:配置/etc/bashrc
HISTFILESIZE=2000 # #设置保存历史命令的文件大小
HISTSIZE=2000 ##保存历史命令条数
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S:" ###记录每条历史命令的执行时间
export HISTTIMEFORMAT
注意:
其中:
%Y:4位数的年份;
%m:2位数的月份数;
%d:2位数的一个月中的日期数;
%H:2位数的小时数(24小时制);
%M:2位数的分钟数;
%S:2位数的秒数

2.第二种:配置脚本,放入/etc/profile
#history
USER_IP=`who -u am i >/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/usr/share/.history
if [ -z $USER_IP ]
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod $HISTDIR/${LOGNAME}
fi
export HISTSIZE=
DT=`date +%Y-%m-%d_%H:%M:%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
HISTTIMEFORMAT="`whoami`: | %F | %T: |${USER_IP}:"
chmod $HISTDIR/${LOGNAME}/*.history* 2>/dev/nul
脚本的作用是记录用户登陆后的操作,如果这个用户是root用户,会在/usr/share/.history/下创建用户名的文件夹,里面存放用户相关的历史命令记录。

下面看下一个文件中的内容
[root@iZ2ze2db4rp7b7weknjhneZ root]# cat 49.4.151.23.history.--08_12::
#
cd /usr/share/.history/
# ###记录命令执行的时间戳,可通过相关软件转换
ls
#
cd xin/
#
ls
#
cd ..
#
ls
3.第三种:配置/etc/profile
这种方法最简单,只需要在/etc/profile中加入下面一句话即可。
#history
USER_IP=`who -u am i >/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTTIMEFORMAT="`whoami`: | %F | %T: |${USER_IP}:"
配置完,需要使用source /etc/profile使其生效。
效果图如下:

记录用户操作历史命令history的更多相关文章
- 历史命令history
历史命令在用户注销之后会保存在用户家目录下的-/.bash_history中 history #查看系统中实时缓存的历史命令,与.bash_history中的内容并不完全相同 history -c # ...
- linux查看历史命令history
在linux下,我们有可能需要查看最近执行过的命令(历史命令),我们可以进行如下操作: # 显示使用过的所有历史命令 $ history # 显示最近使用的5个命令 $ history 5 我们可以通 ...
- linux 查看历史命令 history命令
1.history命令 "history"命令就是历史记录.它显示了在终端中所执行过的所有命令的历史. history //显示终端执行过的命令 history 10 //显示最近 ...
- RabbitMQ实战场景(一):异步记录用户操作日志
传统的项目开发中业务流程以串行方式,执行了模块1—>模块2–>模块3 而我们知道,这个执行流程其实对于整个程序来讲是有一定的弊端的,主要有几点: (1)整个流程的执行响应等待时间比较长; ...
- ssm 项目记录用户操作日志和异常日志
借助网上参考的内容,写出自己记录操作日志的心得!! 我用的是ssm项目使用aop记录日志:这里用到了aop的切点 和 自定义注解方式: 1.建好数据表: 数据库记录的字段有: 日志id .操作人.操作 ...
- 使用 script 命令记录用户操作行为
Script 命令可以帮助管理员记录用户的操作行为,包括用户查看文件中的哪些具体内容,写入了哪些文件,写了些什么都能看到,比较详细的记录了用户的操作行为. 本文对此进行简要说明. 1.添加日志记录 e ...
- linux系统监控:记录用户操作轨迹,谁动过服务器
1.前言 我们在实际工作当中,都碰到过误操作.误删除.误修改过配置文件等等事件.对于没有堡垒机的公司来说,要在linux系统上深究到底谁做过配置文件的修改.做过误删除是很头疼的事情,特别是遇到删库跑路 ...
- 查看历史命令 history
生产上有文件被清空了,想查查是谁操作的? 通过history查看历史命令: $history |more 也可以通过文件查看历史命令: $vi ~/.bash_history 只显示历史命令,像查一查 ...
- Spring AOP使用注解记录用户操作日志
最后一个方法:核心的日志记录方法 package com.migu.cm.aspect; import com.alibaba.fastjson.JSON; import com.migu.cm.do ...
随机推荐
- js 延时
alert(1);setTimeout(function(){alert(2);}, 1000);setTimeout(function(){alert(3);}, 2000);
- Semi-Supervised Classification with Graph Convolutional Networks
Kipf, Thomas N., and Max Welling. "Semi-supervised classification with graph convolutional netw ...
- Java 经典问题
九种基本类型及封装类 基本类型 boolean byte char short int long double void 二进制位数 1 8(一字节) 16(2字节) 16(2字节) 32(4字节) ...
- (转)I,P,B帧和PTS,DTS的关系
基本概念: I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象. ...
- Kernel.org 被黑,获取 Android 源码方法一则
8 月底 9 月初,作为 Linux 的老窝,Kernel.org 被黑客攻击了,其攻击原因众说纷纭.一直以来 Linux 对于我来说不是很感兴趣,所以从来不会关注类似事件,可是这次这个攻击,却影响到 ...
- R语言绘图布局
在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar 参数设置margin, 这些边距有什么不同呢,通过box函数可以直观的看到 box 默认在当前图形绘制 ...
- 远程连接mysql数据库提示:ERROR 1130的解决办法
From: http://blog.sina.com.cn/s/blog_716844910100welz.html 在linux下使用mysql客户端连接远程mysql服务器报错: [root@Se ...
- python改动文件内容,不须要read,write多个动作。
python 要改动文件内容,经常使用 是先read.后write , 再 rename.非常不爽. 比方:须要 把 yuv_dir ="../HD/" # &q ...
- c++ __int64
C++的64位整数[原]by 赤兔 在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648 ...
- SharePoint 2013 workflow cannot start automatically when you logged in site as a system account
I have created one simple workflow on custom list using SharePoint designer 2013.While designing wor ...