我正在嘗試編寫一個系統實用程式腳本,該腳本將作為 cron 作業運行並捕獲檔案系統統計資訊和環境設置,以便追蹤盡可能多的更改。
考慮以下時間表
T0: there is a file /dir/fileX.txt
T1: job runs and captures every file and its stats (permissions, size, checksum etc), including /dir/fileX.txt
T2: mv /dir/fileX.txt /dir/fileY.txt
T3: job runs again and recaptures the file system. But all it can tell is that fileX.txt was deleted and fileY.txt created
如果我重命名可以用來鍵入所有文件而不是名稱的文件,是否有一些文件 ID 不會更改?這樣,在 T1 處我將鍵入文件,但 ID 而不是名稱和文件名稱將只是另一個屬性。在 T3,我將能夠分辨這是同一個文件,但名稱已更改,因為 ID 保持不變。
答案1
聽起來您正在尋找使用索引節點。基於 inode 引用文件是解決一些常見文件名問題的好方法(例如嘗試刪除名為“test*”的文件,這通常會使 rm 猶豫不決),並且在您的特定情況下應該允許您引用該對象。
答案2
答案3
您的問題聽起來像是您需要一個基於自訂主機的入侵偵測系統。
查看其中一些,檢查您是否可以按照您喜歡的行為方式編譯或配置它。
一些名字:samhain
tripwire
aide