对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢?其实我们可以通过登陆IP地址来记录所有用户登录所操作的历史操作!具体操作就是在/etc/profile配置文件的末尾加入以下脚本代码来实现:
# History
USER=`whoami`
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 /usr/local/history ]; then
mkdir /usr/local/history
chmod 777 /usr/local/history
fi
if [ ! -d /usr/local/history/${LOGNAME} ]; then
mkdir /usr/local/history/${LOGNAME}
chmod 300 /usr/local/history/${LOGNAME}
fi
export HISTSIZE=10000
DT=`date +"%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/usr/local/history/${LOGNAME}/${USER}@${USER_IP}_history.$DT"
chmod 600 /usr/local/history/${LOGNAME}/*history* 2>/dev/null
[root@server ~]# source /etc/profile
[root@server ~]# logout
# 此时需要退出系统再重新登录,在/usr/local/history/目录下才有记录
[root@server ~]# ll /usr/local/history/root/
总用量 12
-rw------- 1 root root 77 10月 11 09:09 root@192.168.1.23_history.2012-10-11_09:09:12
-rw------- 1 root root 529 10月 11 09:11 root@192.168.1.23_history.2012-10-11_09:09:16
-rw------- 1 root root 187 10月 11 09:12 root@192.168.1.23_history.2012-10-11_09:11:26
干嘛儿网-电影频道、最新电影、高清影视:http://v.ganmaer.com
转载于:https://blog.51cto.com/wushuaishuai/1021125