摘自:http://blog.roodo.com/aqea/archives/1397801.html & http://www.wretch.cc/blog/josephphoto/14075781
是誰?刪了我的檔案!
雖然公用資料夾 (Share Folder) 使用很方便:打開「檔案總管」就可以像本機硬碟一樣方便使用,還可以分享、與他人共用;儘管我已經努力將權限設到最小,但還是常常有使用者來抱怨,暫存區的檔案被別人刪除了!
真的很想罵人,「暫存」就是暫時存一下,放了 N 天,本來就很容易不見!
雖然已逐步改用 SharePoint Server 來取代公用資料夾,但使用者還是偏好他的方便。
為了找出那位三不五時幫忙刪檔案的好心人 (也有可能那天和男朋友吵架上來舒發心情的啦),也為伺服器平反一下 (不會它自己搞丟的) ,決定要來稽核公用資料夾中的檔案刪除動作。
首先,我們要開始稽核原則:
- 由左下角的「開始」→「程式集」→「系統管理工具」,開啟「本機安全性原則」或「預設網域控制站安全性設定」。
- 雙擊「Windows 設定」,依序展開「安全性設定」→「本機原則」→「稽核原則」。
- 於右側欄雙擊「稽核物件存取」。
- 勾選「安全性原則設定」標籤中的「成功」。
經過以上的設定,這台電腦 (伺服器) 就已經有了基本的物件存取稽核的能力,接下來,我們再替需要監視的資料夾開啟稽核功能!
- 於計劃監視的資料夾上按右鍵,選擇「內容」。
- 切換至「安全性」標籤,點按「進階」按鈕。
- 切換至「」標籤,點按「新增」按鈕。
- 選擇欲稽核的使用者或群組,勾選「刪除子資料夾及檔案」和「刪除」,及「成功」或「失敗」時記錄。
由這一刻起,這個資料夾就會受到稽核監視,被稽核的使用者 (群組) 若刪除資料夾或檔案時,就會被記錄在「事件」中:
- 開啟「電腦管理」,切換至「系統工具」→「事件檢視器」→「安全性」。
- 點選相關的事件,就可以看到以下內容。
下回再有使用者亂刪除別人的檔案時,我們就可以由事件中去查看,到底是誰幹的好事了!
附帶一提的!可以想像公用存取的資料夾若是位在伺服器上,每天就可能有上百筆關於於檔案存取的安全性事件記錄!所以,記得一定要去設定「記錄檔大小」的限制!不然,可能會一路澎脹到佔滿一整個磁碟!
- 開啟「電腦管理」,切換至「系統工具」→「事件檢視器」。
- 於左側的「安全性」上,按滑鼠右鍵,選擇「內容」。
分享給各位有需要的朋友。
因為安全性事件中,記錄了所有很安全性有關的事件,不只是這檔案被刪除的事件記錄而已,建議可以搭配 Log Parser 使用:
Microsoft Log Parser 2.2 官方英文網頁、官方下載頁
因為 Log Parser 只有命令列的界面,所以相關的操作說明,可參考官方說明頁。
像是對IIS的log file進行類似SQL語法的分析查詢,將結果顯示於螢幕、檔案或SQL數據庫內。
Log Parser本身是個命令字元工具(command-line tool),使用時必須先進入命令提示字元,並切換至Log Parser的安裝目錄,然後輸入LogParser指令即可使用。
LogParser -h GRAMMAR : SQL Language Grammar 查詢語言的語法
LogParser -h FUNCTIONS [
LogParser -h EXAMPLES : Example queries and commands 範例
輸出入格式
-i:
-o:
- 示範:
- 2006/4/10當日IIS網站一天的擊點率(Hit Rate)
logparser "select count(*) from ex.log" - 以圖形化資料網格方式輸出
logparser "SELECT count(*) as [HitRate] INTO datagird FROM ex060410.log"
或是在INTO後面改為其它檔案格式:your_output_name.csv, Report.xml, MyChart.gif
LogParser "SELECT TOP 20 cs-uri-stem, COUNT(*) AS Hits INTO MyChart.gif FROM ex060410.log GROUP BY cs-uri-stem ORDER BY Hits DESC" -chartType:Column3D -groupSize:1024x768 - 統計每一網頁資源的擊點率
logparser "SELECT cs-uri-stem as [Web Page], count(*) as [HitRate] INTO datagird FROM ex.log group by cs-uri-stem" - 輸出至Html
logparser "SELECT cs-uri-stem as [Web Page], count(*) as [HitRate] INTO datagird FROM ex.log group by cs-uri-stem order by count(*) desc" -o:TPL -tep:HTML_temp.txt - 查看登錄器並輸出至SQL Server存成資料表
LogParser "SELECT * INTO MyTable FROM \HKLM" -i:REG -o:SQL -server:MyServer -database:MyDatabase -driver:"SQL Server" -username:TestSQLUser -password:TestSQLPassword -createTable:ON - 搜尋電腦中前10大檔案
LogParser "SELECT TOP 10 * FROM C:\*.* ORDER BY Size DESC" -i:FS - 將指令列執行結果分析再輸出,例分析netstat結果
netstat | LogParser "SELECT * FROM STDIN" -i:TSV -iSeparator:space -nSep:2 -fixedSep:off -nSkipLines:3
備註:
IIS 記錄檔預設位置C:\WINDOWS\system32\LogFiles\W3SVC1\exyymmdd.log,可由「網際網路資訊服務(IIS)管理員」/網站/預設的網站/右鍵「內容」/「網站」Tab/「啟用記錄」的「內容」來設定。
「一般」Tab可設定儲存Log的位置及排程。
「進階」Tab可設定記錄的資訊選項,例:用戶端IP位址(c-ip)、傳送方法(cs-method) 、URI主體(cs-uri-stem) 、URI查詢(cs-uri-query)、通訊協定狀態(sc-status)、花費時間(time-taken)。
- 參考:
- Windows 2003 Server 電子雜誌 2005年10月份
- 如果您還不熟悉 Log Parser 2.2,請您參閱《指令碼的物語》(英文) 專欄-Tales from the Script
- Microsoft TechNet Log Parser 2.2
- 尋找免費的 Log Analyser 工具?Internet Information Services (IIS) 6.0 Resource Kit Tools
- LogParser -h EXAMPLES 裡面有很多呦!
- 嗨,Scripting Guy!我要如何找出電腦中前 20 大的檔案呢?
沒有留言:
張貼留言