Linux

Linux 上的系統範圍的文件訪問和系統呼叫監控?

  • May 30, 2020

在 Windows 領域,您可以從 Sysinternals 執行 Procmon(程序監視器),它將向您顯示每個文件訪問、系統資料庫查詢等系統範圍(附截圖)。然後,您可以回溯以查找哪些程序正在觸摸/訪問特定文件(或系統資料庫查詢)。

在 Linux 領域,我有時會找到哪些程序正在訪問系統上的特定文件——但我不知道從哪個程序開始查看。我知道 strace,我知道我可以將它附加到多個程序 - 但是有沒有辦法在 Linux 下全域輸出每個文件訪問?

Windows 上的 ProcMon 範例

Sysdig 會做你正在尋找的東西。但是,它需要 root 訪問權限和 sysdig-probe 模組。

這就是 Linux,當然有不止一種方法可以做到這一點。

追踪方法。使用 ftrace 或eBPF來跟踪核心中的任何內容的腳本。在這個 open() 範例中,請參閱opensnoop。您可以按 PID 或文件名過濾。非常強大,可以臨時使用,但並不是每個人都對編寫核心探測腳本感到滿意。

審計方法。配置 auditd 規則以記錄某些文件訪問或系統呼叫。遵循如何監控路徑的範例”Linux 審計子系統已在企業環境中用於滿足合規性要求。文件化,擅長記錄,但不能即時檢測所有內容。

引用自:https://serverfault.com/questions/1019259