我读过这个教程 -https://help.ubuntu.com/community/BasicChroot- 我的理解是,chroot 是改变的过程,/
而创建的新受限环境是“监狱”。但有些人说我错了,chroot 和监狱是完全不同的两件事。
有人能用简单的术语向我解释一下其中的区别吗?
答案1
答案2
Jail 一词源自 FreeBSD 世界,指的是限制用户访问系统的更严格方式,尽管 chroot 在 FreeBSD 中作为一种单独的机制存在。它类似于(按分离级别排序):
Chroot < 操作系统级虚拟化:(FreeBSD 的 Jail ≤ Linux OpenVZ)< 半虚拟化:XEN
答案3
我想说的是,“监狱”是一个通用术语,而“chroot”不是。chroot 只是限制进程访问的几种可能性之一。不过,我从未在其他情况下听说过“监狱”。您可以使用 AppArmor、SELinux 等来达到类似的效果,但“AppArmor 监狱”似乎是一个不常见的术语。另一方面,安全性并不是使用 chroot 的唯一原因。虽然效果可能相同,但在某些情况下,当目的不是安全性而是针对某个进程的特殊配置时,谈论“chroot 监狱”可能没有什么意义。
答案4
“chroot” 表示“从这里启动文件系统根目录”,并且具有超出“监狱”的功能,例如从 LiveCD 访问/修复损坏的操作系统;它也恰好是“在 Linux 中建立监狱的方式”。