通常history指令只能查看自己的xshell的使用记录,而无法查看其他用户/终端对通过xshell对云服务器的操作。
编写脚本来记录所有用户对同一云服务的操作日志:
1. vim /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 /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
2. !wq 保存退出
3. source /etc/profile(刷新配置文件)
4. 关闭当前xshell链接
5. 重连,cd /var/log/history/ 目录下存放的就是操作日志
注意:每次记录一个终端从建立链接到断开连接的操作日志,断开后,才会产生操作日志。