当应用程序删除文件时到底会发生什么?
有什么办法可以控制这种行为吗?基本上我想shred
而不是rm
在所有情况下,但当然应用程序不会调用rm
,我猜它们直接与内核交互?我是否需要修改内核才能实现此功能?
答案1
与其尝试拦截所有文件系统调用,不如对存储数据的文件系统进行加密呢?然后,您的所有数据都会获得安全加密的好处,包括已删除的数据。
答案2
您必须进入 C 库以及文件系统内核模块才能捕获所有情况。应用程序最常调用库例程,然后库例程调用文件系统模块内的例程。
简而言之,控制这种行为的唯一可靠方法是编写和使用您自己的文件系统。我想你不想去那里——我知道我不会。
答案3
这chattr
s属性可能适用于外部4- 文件系统。直到现在我都没有打扰。
wipe
到目前为止,我在重要情况下手动使用。