咱們在實際工做當中,都碰到過誤操做、誤刪除、誤修改過配置文件等等事件。對於沒有堡壘機的公司來講,要在linux系統上深究到底誰作過配置文件的修改、作過誤刪除是很頭疼的事情,特別是遇到刪庫跑路的事件,更頭大了。固然你能夠經過history來查看歷史命令記錄,若是把history記錄塗抹掉了,是否是啥也看不到了,若是你想查看在某個時間段究竟是誰經過vim編輯過某個文件呢?php
那麼,有什麼辦法能夠看見這些操做呢,答案是必定有的,具體怎麼實現呢,linux script命令正有如此強大的功能,能夠知足咱們的需求,script能夠記錄終端會話,只要是linux6.3以上的系統,都會自帶script命令,下面我用centos 7系統來測試一下。linux
二、配置vim
2.1 驗證script命令(我這裏是有的)centos
參數:
-t 指明輸出錄製的時間數據
-f 若是須要在輸出到日誌文件的同時,也能夠查看日誌文件的內容,能夠使用 -f 參數。PS:能夠用於教學,兩個命令行接-f能夠實時演示
-a 輸出錄製的文件,在現有內容上追加新的內容
-q 能夠使script命令以靜默模式運行
以下圖所示:ide
說明:測試
用戶登陸執行的操做都會記錄到/var/log/script/*.log 裏(保存日誌的目錄根據你本身定義),咱們能夠經過more、vi等命令查看目錄裏的日誌。spa
注意:命令行
-
我這裏把用戶ID大於0的都記錄下來了,你能夠從新登陸用戶,隨便操做一些命令,查看生成的文件。日誌
-
root用戶的ID爲0,新建普通用戶的UID是從500開始的(經過cat /etc/password能夠查看用戶的UID),若是你不想記錄root用戶的操做,你把if裏面的值改爲500: if [ $UID - ge 500 ];
2.3 建立目錄、賦予權限
你是否是覺得寫了這條if語句在/etc/profile文件中就完事了,目錄都沒建立呢:
2.4 使環境生效
三、驗證
好了,你能夠退出linux終端,在從新登陸一下,而後隨便敲幾個命令來看看。
從上圖能夠看到,在/var/log/script目錄中,已經產生了log和data爲後綴的文件,而且還看到了root用戶和UID號0。
.log:記錄了操做
.data:能夠回放操做
咱們用scriptreplay來回放一下操做,看下效果如何:
注意:先指定「時間文件 .data」,而後是「命令文件 .log」,不要顛倒了。
以上就完也了記錄用戶的全部操做,而且還能夠隨時查看,至關於有回放功能,像錄像同樣,之後定位是誰的問題就好找緣由了。