启动无法触及现有文件的应用程序

启动无法触及现有文件的应用程序

我有一个应用程序,我想在“可视化环境”中启动它。我不希望此应用程序能够写入/读取本地文件系统上的任何文件。一个好处是能够监视此应用程序所做的一切。

如果这很重要的话,该应用程序是图形化的。

我可以使用现有的 Linux 工具来做到这一点吗?我可以使用 chroot 模拟此行为吗?

我不想只为一个应用程序运行一个完整的虚拟机,这似乎有点过度。

谢谢你,马克西姆。

答案1

SELinux 将允许您在受限域中启动应用程序,并且审计子系统将让您监视其运行情况。

答案2

检查 lxc,Linux 容器。它是一种“比 chroot 更好的 chroot”,就像 Solaris 容器或 BSD jails,也可以与 OpenVZ 或 VServer 相媲美。基本概念是将系统的某些视图与进程隔离开来。

例如,如果您隔离 PID 树,则进程将启动一个新树:将自己视为 PID #1,而子进程只能看到该子树。其他进程将“正常”PID 视为整个树的一部分。

类似地,你可以通过更强大的 chroot 隔离文件,选择这些进程可以获得多少内存和 CPU,以及它们看到的网络接口(可以是“虚拟”接口,可以选择路由或桥接到真实接口)

如果您愿意,容器中的基本进程可以是init,创建一个新的虚拟系统;也可以是一个特定的应用程序,让您在仍能工作的同时对其进行限制,而不会产生任何可衡量的开销。

相关内容