Find

在特定日期遞歸查找所有文件

  • April 9, 2020

我的網站受到了 FTP 暴力攻擊,黑客在我的主目錄中修改/創建了一些文件。

假設惡意創建/修改的日期是 2011-4-5 21:38:09。如何在 public_html 中找到當時修改/創建的其他文件?

試圖通過Google搜尋,但沒有發現任何有用的資訊。你能給我一些例子嗎?喜歡 ls 還是 find?謝謝!

你可以:

touch -m -t 201104052138.08 /tmp/timestamp

find /dir -newer /tmp/timestamp

最初的觸摸會在您所需的時間戳之前創建一個 mtime 為一秒的文件,然後 find 使用它來查找在那之後修改的文件(就內容而言)。

您還需要檢查權限和組所有權。您不能使用上述技術來做到這一點,因為觸摸只能更改 atime 和 mtime。因此,您最好確定正確的權限是什麼,然後重新設置它們。例如,如果您的 Web 文件通常由具有 www-pub 組的 root 擁有,並且目錄權限為 0755,文件權限為 0644,則可以使用

find /dir \! -user root 

查找不屬於 root 的文件和目錄

find /dir \! -group www-pub 

查找不屬於 www-pub 的文件和目錄

find 的 -perm 標誌也可用於根據權限查找文件,但最好將其設置為應有的狀態。

find /dir -exec chown root:www-pub {} \;
find /dir -type f -exec chmod 0644 {} \;
find /dir -type d -exec chmod 0755 {} \;

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