Security

如何遞歸地粉碎整個目錄樹?

  • June 25, 2020

我有一個目錄樹,我想用 Linux ‘shred’ 實用程序粉碎它。不幸的是,shred 沒有-R遞歸粉碎的選項。

如何遞歸地切碎整個目錄樹?

使用find命令shred遞歸執行:

find <dir> -type f -exec shred {} \;

小心撕碎!

從粉碎手冊頁:

注意:請注意,shred 依賴於一個非常重要的假設:文件系統會在原地覆蓋數據。這是做事的傳統方式,但許多現代文件系統設計不滿足這個假設。以下是 shred 無效或不保證在所有文件系統模式下都有效的文件系統範例:

  • 日誌結構或日誌文件系統,例如隨 AIX 和 Solaris(以及 JFS、ReiserFS、XFS、Ext3 等)提供的文件系統
  • 寫入冗餘數據並在某些寫入失敗的情況下繼續執行的文件系統,例如基於 RAID 的文件系統
  • 生成快照的文件系統,例如 Network Appliance 的 NFS 伺服器
  • 記憶體在臨時位置的文件系統,例如 NFS 版本 3 客戶端
  • 壓縮文件系統

在 ext3 文件系統的情況下,上述免責聲明僅在 data=journal 模式下適用(因此 shred 的有效性有限),除了元數據之外,它還記錄文件數據。在 data=ordered(預設)和 data=writeback 模式下,shred 照常工作。可以通過將 data=something 選項添加到 /etc/fstab 文件中特定文件系統的掛載選項來更改 Ext3 日誌模式,如掛載手冊頁 (man mount) 中所述。

此外,文件系統備份和遠端鏡像可能包含無法刪除的文件副本,這將允許稍後恢復粉碎的文件。

此外,SSD可能會阻止您覆蓋數據的嘗試。

**解決方案:**使用加密文件系統,然後刪除您的文件。

引用自:https://unix.stackexchange.com/questions/27027