监控服务器登录用户的操作脚本(linux下shell.sh)

linux下记录所有用户的登录和操作日志

在 /etc/profile文件末尾加入如下代码:

#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

如下图
监控服务器登录用户的操作脚本(linux下shell.sh)

#source /etc/profile            //使其立即生效

查看/var/log/history脚本会为每个用户自动创建一个以用户名命名的文件夹,每次用户退出后都会产生以用户名、登录IP、时间的文件,里面包含此用户本次的所以操作

如下图

监控服务器登录用户的操作脚本(linux下shell.sh)

########################写完手工###################################################################