遇到問題:公司增長了運維管理員,爲確保服務器安全,和發生問題的時候好確認問題,須要記錄每位服務器登錄者的行爲軌跡。linux
解決問題:linux script 命令正有如此強大的功能。知足咱們需求。script記錄終端會話。vim
操做步驟:
centos
我是centos6.3系統, 自帶script命令,若是沒有,你們需手動安裝。安全
vim /etc/profile服務器
在末尾添加:運維
if [ $UID -ge 1000 ]; thenide
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`.logspa
fiblog
這樣用戶登錄後執行的操做都會記錄到/mnt/log/script/*.log(目錄本身根據服務器目錄定義)裏,咱們能夠經過more或vi來進行查看。ip
我這裏是把用戶ID 大於1000的都記錄下操做,你能夠從新登陸用戶,操做一些命令,查看生成的文件。
另外,/mnt/log/script 目錄須要其餘用戶有寫的權限;
chmod 743 /mnt/log/script
能夠看到上圖,對應的用戶登陸,會分別生成一個log和date爲後綴的文件。log記錄了操做,能夠經過date文件 回放操做。經過scriptreplay 來回放注意:先是 「時間文件」,而後是「命令文件」,不要顛倒。以上,就完成了記錄用戶的全部操做記錄。而且還有回放功能,像錄像同樣,很是方便查找問題。