另外,GNU/Linux 中最接近 FreeBSD 监狱的是什么?
答案1
KVM
这是一个非常简短的尝试来总结您提到的三个工具、LXC
、 和之间的差异Firejail
。它掩盖了很多细节,并不是为了精确准确,只是给出一个总体印象。有关更多详细信息,您必须进行一些研究 - 首先阅读该软件的网站(下面链接),然后根据需要在谷歌(和维基百科)上搜索额外信息。
维基百科对于提供技术摘要和类似软件比较表的链接特别有用。
键盘虚拟机代表“内核虚拟机”,提供用于完全虚拟化的管理程序,即硬件仿真,允许在同一硬件上安装和同时执行多个客户操作系统。
每个虚拟机都看到一组完全不同的模拟硬件(包括硬盘、网卡、控制台或图形等),并且可以运行自己的内核。 KVM 还允许特定设备的硬件直通到特定的VM,因此它们可以独占访问该硬件(例如第二个GPU 或特定的NIC)。
例如,如果您想在同一台计算机上同时运行 Linux、Windows、FreeBSD 和 Hackintosh,则可以使用它。
它类似于 VirtualBox 或 VMWare。
也可以看看键盘虚拟机在维基百科上。
LXC是一个使用内核的容器化系统对照组和命名空间(对于 PID、网络、文件系统等)在进程之间提供相当强的隔离。与虚拟机不同,容器都在同一个主机内核上运行,尽管它们通常有自己的(通常是简约的)用户空间来提供自己隔离的 /etc、/bin、/sbin 等。不同的容器只能访问它们被允许查看的主机资源。
它主要用于运行系统或网络服务(例如apache或squid或bind),与主机系统的资源和进程的隔离程度比仅使用不同的UID和GID以及fs权限所能实现的隔离程度更高。
从概念上讲,容器与 FreeBSD 的监狱非常相似。和泊坞窗。 系统还提供工具 (
systemd-nspawn
和machinectl
) 来使用和管理控制组和命名空间。也可以看看LXC在维基百科上。
我没用过火狱,但看起来它是另一个容器化工具,这次强调最终用户而不是系统管理员的使用(尽管这似乎不是一个硬性限制,只是开发人员关注的重点)。
例如,它似乎允许非常容易地隔离用户进程(如网络浏览器或 torrent 客户端),因此此类面向互联网的应用程序的危害很难升级为对用户文件或主机操作系统本身的危害。