0

是否有与 Windows 程序沙盒在 Fedora 上运行的 Linux(接近)等价物?它并不完美,但它基本上创建了一个 C:\Sandbox\\XYZ 目录,并且在 XYZ 沙箱中运行的任何进程都透明地(对进程)锁定以在该文件夹中进行更改。Sandboxie 可以允许通过它运行的进程看到外面的情况——基本上它能够为进程提供计算机的状态,但将沙盒目录覆盖在它上面以提供优先权。

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

因此,我将能够删除其中一个 Linux 沙箱,并且在其中完成的所有操作(包括 yum 或 dnf 安装)都会蒸发,不会影响到沙箱之外。而且,希望有一种方法可以将沙盒中的东西“带出”到完整的环境中。

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

我对Linux 容器感到兴奋,也许我尝试错了。我试过sudo lxc-execute -n test bash了,然后在“包含的”bash 登录中运行touch fromLxc,遗憾的是,不在 lxc 容器中的其他终端可以看到它。

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

我认为行不通chroot,因为随着顶层 o/s 的变化,我认为它不会将变化“传播”到 chroot 环境中。

4

1 回答 1

1

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

于 2015-05-30T02:53:57.510 回答