chroot和jail之间的区别


13

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

有人真的可以简单地解释我的区别吗?


1
另一种选择是使用受限制的Shell而不是chroot。它可能不太安全。
ott--

Answers:


5

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

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


4

简短的回答是“你们都是正确的”-

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

这不应与FreeBSD的jail功能混淆,FreeBSD的功能是类固醇的chroot(具有许多附加功能,比简单的功能提供了更多的隔离chroot)。


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


3

我会说“ jail”是一个通用术语,而“ chroot”则不是。chroot只是限制进程访问的几种可能性之一。我从没听说过另一种情况下的“监狱”。您可以使用AppArmor,SELinux等获得类似的结果,但是“ AppArmor监禁”似乎是一个不常见的名词。另一方面,安全性不是使用chroot的唯一原因。尽管效果可能相同,但在某些情况下,当目标不是安全性而是特定过程的特殊配置时,谈论“ chroot监狱”可能毫无意义。


1

“ chroot”表示“从此处启动文件系统根目录”,并且具有超出“ jail”的应用程序,例如,从LiveCD访问/修复损坏的OS;它也恰好是“在Linux中入狱的方式”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.