chroot 和 jail 之间的区别

use*_*328 13 linux chroot bsd

我阅读了本教程 - https://help.ubuntu.com/community/BasicChroot - 我的理解是,chroot 是更改的过程,/而创建的新受限环境是“监狱”。但是有人说我错了,chroot 和 jails 是两个完全不同的东西。

有人真的可以用简单的术语解释我的区别吗?

And*_*sov 5

Jail 术语来自 FreeBSD 世界,指的是更严格的限制用户访问系统的方式,尽管 chroot 作为一种单独的机制存在于 FreeBSD 中。它类似于(按分离级别排序):

Chroot < 操作系统级虚拟化:(FreeBSD 的 Jail ? Linux OpenVZ)< 半虚拟化:XEN


vor*_*aq7 5

简短的回答是“你们都是对的”——

一个chroot“ED环境通常被称为‘chroot监牢’。它基本上限制了一组进程的视图,因此它们认为指定的目录是文件系统根目录。

这不应该与 FreeBSD 的jail功能混淆,后者是一个强大的 chroot(具有许多附加功能,提供比简单功能更多的隔离chroot)。


为了清楚起见,最好将chrooted 环境称为“chroot 环境”(或使用完整的短语“chroot jail”)来区分它们——尤其是在谈论 FreeBSD 系统时。


Hau*_*ing 4

我想说“jail”是一个通用术语,而“chroot”则不是。chroot 只是限制进程访问的几种可能性之一。不过,我从未在其他情况下听说过“监狱”。您可以使用 AppArmor、SELinux 等来达到类似的结果,但“AppArmor Jail”似乎是一个不常见的术语。另一方面,安全并不是使用 chroot 的唯一原因。尽管效果可能相同,但在某些情况下,当目标不是安全而是针对某个进程的特殊配置时,谈论“chroot监狱”可能没有什么意义。