解決問題:linux script 命令正有如此強大的功能。滿足我們需求。script記錄終端會話。
操作步驟:
我是centos6.3系統, 自帶script命令,如果沒有,大家需手動安裝。
vim /etc/profile
在末尾添加:
if [ $UID -ge 1000 ]; then exec /usr/bin/script -t 2>/mnt/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /mnt/log/script/$USER-$UID-`date +%Y%m%d%H%M`.log fi
這樣用戶登陸後執行的操作都會記錄到/mnt/log/script/*.log(目錄自己根據服務器目錄定義)裡,我們可以通過more或vi來進行查看。
我這裡是把用戶ID 大於1000的都記錄下操作,你可以重新登錄用戶,操作一些命令,查看生成的文件。
另外,/mnt/log/script 目錄需要其他用戶有寫的權限;
chmod 743 /mnt/log/script
可以看到上圖,對應的用戶登錄,會分別生成一個log和date為後綴的文件。log記錄了操作,可以通過date文件 回放操作。通過scriptreplay 來回放
注意:先是 “時間文件”,然後是“命令文件”,不要顛倒。
以上,就完成了記錄用戶的所有操作記錄。並且還有回放功能,像錄像一樣,非常方便查找問題。