你的一舉一動,我可都看着!Linux超騷技巧三分鐘Get

今天看到一個超級的linux命令,可以完整記錄屏幕上的命令與輸出結果。

有人問這有什麼的,不就是保存歷史操作記錄嗎?我看看日誌也能看出來。

不不不,我要說的“完整記錄”包括第幾秒執行什麼命令,就像真的有人在操作一樣!放視屏一樣的播放出來,還可以調整播放速度,放慢、加快、想調幾倍速就調幾倍速!

開通會員好嗎!

更爽的是自己的服務器,誰想登陸操作直接就被監視起來,一舉一動看的清清楚楚,是不是很過癮!!

一般來說,這次用到的script 和 scriptreplay兩個命令在 Linux 發行版中都有默認安裝。

錄播屏幕操作

錄製

 script -t 2>time.file -a scriptfile

執行完這個命令,接下來的任何操作都會被記錄。
其中的time.file是時序記錄文件,記錄了幾秒執行的命令;scriptfile是命令執行記錄文件,記錄下執行是哪些命令,這兩個文件名稱都可以自定義。

加上-q, - -quiet 參數可以使script命令以靜默模式運行,不顯示script啓動和exit的命令,用戶可以完全察覺不到在錄屏。
像這樣:

 script -q -t 2>time.file -a scriptfile

要停下來,只用按下按下組合鍵 Ctrl+D 結束錄製,執行exit命令也行。

exit

有錄製就有播放,就像錄視頻一樣,執行下面這個命令即可,時序文件在前,命令文件在後

scriptreplay time.file scriptfile

添加這個參數-d, –divisor number 可以調整播放速度的倍數(可以是小數:放慢)。

scriptfile文件記錄了我每間隔1秒執行一個date命令的操作,現在加速10倍來播放看看效果(可惜有的版本scriptreplay命令沒有-d這個參數):

640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

同步演示

-f, - -flush 每次操作後都立即刷新緩存。如果不設置這個選項,則不會實時寫入文件,這個功能

使用端:

script -f demo

演示端:

scriptreplay -f demo

但是很遺憾,可能因爲版本問題,我的scriptreplay沒有-f參數。

沒關係,因爲實時寫入文件裏的,我們拿出平時看日誌常用的tail -f命令,直接在演示端tail -f demo即可

640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

錄製腳本執行過程

參數-c, - -command 可以直接執行命令,而非是交互式的shell,可以直接傳入一個腳本,像這樣:

$ script -qa "file.out" -c "/root/hello.sh" 
123
234
345
$ cat file.out 
Script started on Fri 28 Jun 2019 07:38:55 PM CST
123
234
345

但是我覺得這個功能有點雞肋,只能記錄下輸出不能記錄執行了哪些命令和鹹魚有什麼區別?

不要謊,那讓我們來感受點牛逼的

自動觸發監控用戶登陸的操作與實時監控

有時候某個人偷偷遠程訪問了你的系統,或者運維人員遠程操作了一些東西,我們可以設置自動記錄下這個人在系統上做了什麼事情,是誰闖的禍,該誰背的鍋,一目瞭然!

這個時候就只要讓script命令在登錄時自動運行,我們可以把它添加進shell環境配置文件中。

這樣在出現什麼誤操作之後,就可以在排查的時候查到歷史記錄。

mkdir -p /var/log/user_record
vi /etc/profile

在文件末尾追加

# 添加登陸時自動記錄
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

在這裏我已經提前添加到腳本里了,後邊是監控端,見演示

640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

暢想幾個場景:

  1. 通過錄制終端記錄,來製作一個命令行技巧視頻

  2. 直接分享幾十k的記錄文件給朋友,就可以讓好友體驗到站在你旁邊看你操作的感覺

  3. 大神來面前幫忙,這時候根本來不及打開錄屏軟件,還容易遭大神的反感;一頓操作猛如虎,菜鳥什麼都記不住好嗎(哭唧唧)。但有了這個工具,一秒開啓記錄,回去慢慢看唄,還能慢放,多爽。

  4. 完整記錄腳本的執行步驟與輸出,沒有什麼比完整輸出的腳本更能排查操作,特別是不能debug的shell。

  5. 監控登陸用戶的一舉一動,再也不怕找不到人背鍋了,但是自己的也就甩不出去了,發現自己的鍋千萬別告訴別人!

  6. 什麼?你還想用這個來監聽輸入的密碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章