你在服务器上的一举一动,我可都看着!linux超骚技巧三分钟Get

简介: 你在服务器上的一举一动,我可都看着!linux超骚技巧三分钟Get

点 击上方 “ 编程三分钟 ”,马上关注,技术原来如此简单。

“  感受过被监控的恐惧吗?——编程三分钟”

今天看到一个超级叼的linux命令,可以完整记录屏幕上的命令与输出结果。


有人问这有什么叼的,不就是保存历史操作记录吗?我看看日志也能看出来。


不不不,我要说的“完整记录”包括第几秒执行什么命令,就像真的有人在操作一样!放视屏一样的播放出来,还可以调整播放速度,放慢、加快、想调几倍速就调几倍速!


比开通了会员还爽好吗!


更爽的是自己的服务器,谁想登陆操作直接就被监视起来,一举一动看的清清楚楚,是不是很过瘾!!


一般来说,这次用到的script 和 scriptreplay两个命令在 Linux 发行版中都有默认安装。


录播屏幕操作


录制


执行完这个命令,接下来的任何操作都会被记录。time.file是时序记录文件,记录了几秒执行的命令;scriptfile是命令执行记录文件,记录下执行是哪些命令,这两个文件名称都可以自定义。


加上-q, - -quiet 参数可以使script命令以静默模式运行,不显示script启动和exit的命令,用户可以完全察觉不到在录屏。


要停下来,只用按下按下组合键 Ctrl+D 结束录制,执行exit命令也行。


有录制就有播放,就像录视频一样,执行下面这个命令即可,时序文件在前,命令文件在后


添加这个参数-d, –divisor number 可以调整播放速度的倍数(可以是小数:放慢)。


scriptfile文件记录了我每间隔1秒执行一个date命令的操作,现在加速10倍来播放看看效果(可惜有的版本scriptreplay命令没有-d这个参数):

84246ad0e8cfba10c5221a1cf3a8b502.gif

同步演示


-f, - -flush 每次操作后都立即刷新缓存。 如果不设置这个选项,则不会实时写入文件,这个功能

使用端:


script -f demo

演示端:


scriptreplay -f demo


但是很遗憾,可能因为版本问题,我的scriptreplay没有-f参数。

没关系,因为实时写入文件里的,我们拿出平时看日志常用的tail -f命令,直接在演示端tail -f demo即可


ecf4637e5ad9a5923ce06f9a79508d26.gif


录制脚本执行过程


参数-c, - -command 可以直接执行命令,而非是交互式的shell,可以直接传入一个脚本,像这样:

但是我觉得这个功能有点鸡肋,只能记录下输出不能记录执行了哪些命令和咸鱼有什么区别?

不要谎,那让我们来感受点牛逼的。


自动触发监控用户登陆的操作与实时监控


有时候某个人偷偷远程访问了你的系统,或者运维人员远程操作了一些东西,我们可以设置自动记录下这个人在系统上做了什么事情,是谁闯的祸,该谁背的锅,一目了然!


这个时候就只要让script命令在登录时自动运行,我们可以把它添加进shell环境配置文件中。


这样在出现什么误操作之后,就可以在排查的时候查到历史记录。我的服务器怎么老这么慢,难道说是被挖矿了?。


在文件末尾追加

# 添加登陆时自动记录
script -t -f -q 2>/var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /var/log/user_record/$USER-$UID-`date +%Y%m%d%H%M%S`.his
if [ "$SHLVL" = 1 ]; then
   exit
fi

在这里我已经提前添加到脚本里了,后边是监控端,见演示

5b8f1a9ea718bc61b3864f3c002aad4b.gif


畅想几个场景:


通过录制终端记录,来制作一个命令行技巧视频


直接分享几十k的记录文件给朋友,就可以让好友体验到站在你旁边看你操作的感觉


大神来面前帮忙,这时候根本来不及打开录屏软件,还容易遭大神的反感; 一顿操作猛如虎,菜鸟什么都记不住好吗(哭唧唧)。但有了这个工具,一秒开启记录,回去慢慢看呗,还能慢放,多爽。


完整记录脚本的执行步骤与输出,没有什么比完整输出的脚本更能排查操作,特别是不能debug的shell。


监控登陆用户的一举一动,再也不怕找不到人背锅了,但是自己的锅也就甩不出去了,发现自己的锅千万别告诉别人!


什么?你还想用这个来监听输入的密码?

相关文章
|
15天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
18天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
28 4
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
30 2
|
5天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
11天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1234 8
|
23天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
23天前
|
Linux
Linux安装bind9搭建自己的域名服务器
Linux安装bind9搭建自己的域名服务器
11 0
|
26天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
1月前
|
网络协议 安全 Shell
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
36 0
|
弹性计算 运维 监控
ECS使用与Linux环境搭建
本文主要记录ECS使用中,安全组配置,Linux下生成环境搭建等。
ECS使用与Linux环境搭建