模拟在Debian / Ubuntu中运行程序

时间:2019-02-13 15:53:48

标签: linux ubuntu debian

假设我有一个Foo程序,是否可以在一种沙箱中运行Foo,该沙箱返回修改/创建/删除的每个文件的列表?


例如,我想说:

sandboxprogram apt install htop >> log.txt

sandboxprogram Foo >> log.txt

sandboxprogram untrusted_binary >> log.txt

并获取log.txt中所有已更改内容的列表保持系统不变

1 个答案:

答案 0 :(得分:1)

您不能阻止它接触正在运行的系统。但是,您可以给它一个短暂的系统。这就是Docker等容器的用途。将其运行在一个为其提供所需环境的容器中(例如,已有已经包含Debian的docker容器),然后在strace或类似的容器中运行它。然后,您可以通过该输出grep查找打开的文件。然后关闭容器,所有更改都神奇地消失。