如何弄清楚给定命令对哪些文件做了哪些更改,甚至拦截它们?

Tob*_*ler 3 linux bash files

假设我有一个程序mysterion,它的执行可能会修改一些文件。为了弄清楚这是否有害,我想以这样一种方式运行它,即我至少可以知道哪些文件是如何修改的,或者甚至可能以某种方式将另一个程序连接到它来决定是否接受或者它们发生之前否认这些变化。能以某种方式实现比逐步调试更不乏味的目标吗?

果然对于“确定更改”部分,我可以对整个文件系统进行快照diff,然后再进行快照,但这可能就像用大锤敲碎螺母一样......

Mar*_*ert 5

监控部分(没有沙箱)可以通过简单地运行来完成

strace -o file.log -e trace=file /path/to/your/binary
Run Code Online (Sandbox Code Playgroud)

当然,这有点“健谈”。因此,您可能需要进行一些后处理。strace通常带有同名的包。还有一个特殊的64位版本。