<分区>
假设我有一个程序 Foo,是否可以在一种沙箱中运行 Foo 以返回每个已修改/创建/删除的文件的列表?
例如我想说:
sandboxprogram apt install htop >> log.txt
或
sandboxprogram Foo >> log.txt
或
sandboxprogram untrusted_binary >> log.txt
并在 log.txt 中获取所有更改的列表保持系统不变
<分区>
假设我有一个程序 Foo,是否可以在一种沙箱中运行 Foo 以返回每个已修改/创建/删除的文件的列表?
例如我想说:
sandboxprogram apt install htop >> log.txt
或
sandboxprogram Foo >> log.txt
或
sandboxprogram untrusted_binary >> log.txt
并在 log.txt 中获取所有更改的列表保持系统不变
最佳答案
你无法阻止它接触它所在的系统。然而,你可以给它一个短暂的系统来触摸。这就是 Docker 等容器的用途。让它在一个容器中运行,为它提供你想要的环境(例如,已经包含 Debian 的 docker 容器),并在该容器内的 strace 或类似环境下运行它。然后,您可以 grep 通过该输出来查找它打开的文件。然后您关闭容器,所有更改神奇地消失了。
关于linux - 在 Debian/Ubuntu 中模拟运行一个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54674285/
相关文章:
linux - 如何编写 Hello World iWarp 应用程序?
c - 如何测量 beaglebone black 上的 TCP/IP 吞吐量?
ubuntu - Gentoo + debootstrap 在与 fakeroot 和 fakechroot 一起使用时失败
linux - Eclipse - 无法下载版本 3.6.1
ubuntu - EFS 挂载失败并出现 mount.nfs4 : access denied by server
linux - 无法在 R 中的 debian 7.6 上安装 ggplot2