娃哈哈好喝-真的!
技术够用就行,吃好喝好睡好!

centos下使用script监控用户操作

centos下使用script监控用户操作

1、测试环境

[root@centos ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)
[root@centos ~]#

2、检查script命令,如果不存在可以使用yum安装

[root@centos ~]# which script
/usr/bin/script
[root@centos ~]#

3、创建日志目录

创建监控日志存放目录,授权其他用户可以写入,只能追加,但不能删除

[root@centos ~]# mkdir -p /data/logs/script
[root@centos ~]# chmod o+w /data/logs/script
[root@centos ~]# chattr +a /data/logs/script
[root@centos ~]# lsattr -d /data/logs/script
-----a---------- /data/logs/script/

4、配置profile

[root@centos ~]# vim /etc/profile
#在文件末尾加入,只要uid大于0的都会被记录
if [ $UID -ge 0 ]; then
      exec /usr/bin/script -t 2>/data/logs/script/'$USER-$UID'-'$(date +%Y%m%d%H%M)'.data -a -f -q /data/logs
/script/$USER-$UID-$(date +%Y%m%d%H%M).log
fi

参数说明:

-t      :指明输出录制的时间数据;
-a     :输出录制的文件,在现有内容上追加新的内容;
-f     :在输出到日志文件的同时,也可以查看日志文件的内容;
-q     :可以使script命令以静默模式运行;

5、加载配置生效

[root@centos ~]# source /etc/profile
[root@centos ~]#

6、验证

[root@centos script]# su - yunwei
Last login: Sun Mar  5 21:04:32 CST 2023 on pts/2
[yunwei@centos ~]$

切到非root用户,可以在/data/logs/script目录下产生相应的日志文件

[yunwei@centos script]$ ll
total 284
-rw-rw-r-- 1 yunwei yunwei      0 Mar  5 21:25 yunwei-1005-202303052125.data
-rw-rw-r-- 1 yunwei yunwei    442 Mar  5 21:25 yunwei-1005-202303052125.log
[yunwei@centos script]$

log文件是操作的文本记录,data文件是相当于登陆会话的录屏

7、历史回放

[root@centos script]# scriptreplay yunwei-1005-202303052125.data yunwei-1005-202303052125.log 

脚本整理,

[root@centos ~]# cat script.sh
#!/bin/bash

logdir="/data/logs/script"
if [ ! -d $logdir ];then
echo "no"
mkdir $logdir
fi
chmod o+w $logdir
chattr +a $logdir
lsattr $logdir -d
cat >> /etc/profile << EOF
if [ \$UID -ge 0 ]; then
exec /usr/bin/script -t 2>$logdir/\$USER-\$UID-\$(date +%Y%m%d%H%M).data -a -f -q $logdir/\$USER-\$UID-\$(date +%Y%m%d%H%M).log
fi
EOF
赞(0)
未经允许不得转载:娃哈哈好喝 » centos下使用script监控用户操作
分享到: 更多 (0)