监控linux服务器用户操作记录

通常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/ 目录下存放的就是操作日志

注意:每次记录一个终端从建立链接到断开连接的操作日志,断开后,才会产生操作日志。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容