慕侠2492172
2019-08-20 17:14
如何查询制定用户的历史操作记录?详细到操作时间,具体输入命令
history是查询当前连接所操作的命令,通过编写以下内容添加至/etc/profile的原有内容之后,将每个连接的操作都进行记录,并保存在特定位置。
vi /etc/profile
添加内容如下:
#history record
history
RQ=`date "+%Y%m%d"`
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/record ]
then
mkdir /tmp/record
chmod 777 /tmp/record
fi
if [ ! -d /tmp/record/${LOGNAME}/${RQ} ]
then
mkdir -p /tmp/record/${LOGNAME}/${RQ}
chmod 300 /tmp/record/${LOGNAME}/${RQ}
fi
export HISTSIZE=8192
SJ=`date "+%H:%M:%S"`
export HISTFILE="/tmp/record/${LOGNAME}/${RQ}/${USER_IP}@${LOGNAME}.$SJ"
chmod 600 /tmp/record/${LOGNAME}/*record* 2>/dev/null
然后保存并退出,执行以下命令,使得编写的配置生效。
source /etc/profile
将操作记录保存在/tmp/record/用户名/日期/登录IP@用户名.时间,
例如:/tmp/record/root/20170801/192.168.108.140@root.16:02:41
历史操作命令已经记录在上述文件中,可以直接查看。
原文链接:https://blog.csdn.net/jack0201/article/details/76548147/
Linux达人养成计划 I
399344 学习 · 3791 问题
相似问题