Linux / Fedora沙盒进程和文件系统更改

时间:2015-05-30 01:25:44

标签: docker sandbox fedora chroot linux-containers

在Fedora上运行的Linux(close)等价物是否适用于Windows程序sandboxie?它并不完美,但它基本上创建了一个C:\ Sandbox \\ XYZ目录,并且在XYZ沙箱中运行的任何进程都是透明的(对进程)锁定以在该文件夹中进行更改。 Sandboxie可以允许通过它运行的进程在那里看到 - 基本上它可以为进程提供计算机的状态,但是将沙箱目录覆盖在它上面以获得优先权。

我希望能够启动一个bash终端,做一些sudo yum(或者,现在,它的替换sudo dnf)安装,做其他任何事情,让它自成一体

所以,我可以删除其中一个Linux沙箱,其中所做的一切(包括yum或dnf安装)都会蒸发,从不影响沙箱外部。并且,希望有一种方法可以将沙盒中的“东西带出”到完整的环境中。

我对适用于许多沙箱的轻量级解决方案很感兴趣,因此不需要将所有内容复制到新安装中。

我对Linux containers感到很兴奋,也许我错了。我尝试了sudo lxc-execute -n test bash,然后在“包含”的bash登录中运行了touch fromLxc,这对于不在lxc容器中的其他终端来说很遗憾。

我查看了docker,但看起来它不会让事情在o / s的“顶部”运行,而是在docker安装中运行。因此,当您向顶级o / s添加内容时,必须在docker安装中重新添加它们。

我认为chroot不起作用,因为顶级o / s更改时,我认为它不会将更改“传播”到chroot环境中。

1 个答案:

答案 0 :(得分:1)

我认为你使用Linux容器走在正确的轨道上。您需要的功能是 Union Mount ,其中进程查看分层文件系统,并且只写入顶层。例如,Docker使用联合安装,但是以文件系统映像作为最低层开始,而不是本机' /'主持人的fs。所以我相信你想要做的是mount' /'到某个地方/ var / mounts / xyzzy说,使用UnionFS,aufs或OverlayFS在顶部安装另一个文件系统,然后将环境chroot到/ var / mounts / xyzzy,这样就没有任何东西逃脱了。这一切都是可能的,但是如果你能找到一种方法来使用docker,比如通过构建你需要的任何文件的图像,你可能会更快地运行起来。