linux - 在 Debian/Ubuntu 中模拟运行一个程序

标签 linux ubuntu debian

<分区>

假设我有一个程序 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

c - 非阻塞并行 FIFO

ubuntu - EFS 挂载失败并出现 mount.nfs4 : access denied by server

php - 找不到请求的页面 - Drupal 7

linux - 无法在 R 中的 debian 7.6 上安装 ggplot2

linux - 如何压缩 bash 中不包括绝对路径的目录的文件?

ruby-on-rails - 安装 pg (0.18.4) 时出错,Bundler 无法继续