为什么我需要使用 chroot

为什么我需要使用 chroot

这个问题chroot-jail-这是什么以及如何使用它指的是是什么以及如何使用chroot

我不明白的是为什么我需要使用chroot.我理解它的作用,但考虑到它不是安全机制或沙箱这一事实,我想不出需要使用它的情况,正如答案指出的那样“你不应该将其用作chroot安全机制”防止程序修改模拟文件系统之外的文件的措施”。

具体来说,为什么某个进程需要映射一个子目录作为根文件系统呢?

答案1

使用 chroot 环境的原因有很多,您可以使用它来保留一个程序的不同版本,您可以使用它来模拟特定环境以测试某些功能,创建与主系统不同的系统映像一等

维基百科可以告诉你更多关于 chroot Jails 及其用法的信息。

从那里:

测试和开发:可以在 chroot 中为软件设置测试环境,否则部署在生产系统上的风险太大。

依赖控制:软件可以在仅填充其预期依赖项的 chroot 中开发、构建和测试。这可以防止由于开发人员构建安装了不同组程序库的项目而导致的某些类型的链接偏差。

兼容性:旧版软件或使用不同 ABI 的软件有时必须在 chroot 中运行,因为它们的支持库或数据文件可能在名称或链接上与主机系统的库或数据文件发生冲突。

恢复:如果系统无法启动,则可以在从备用根文件系统(例如从安装介质或 Live CD)引导后使用 chroot 移回损坏的环境。

权限分离:允许程序将打开的文件描述符(用于文件、管道和网络连接)携带到 chroot 中,这可以简化监狱设计,无需将工作文件保留在 chroot 目录中。这还简化了在沙箱中运行特权程序的潜在易受攻击部分的常见安排,以便先发制人地遏制安全漏洞。请注意,chroot 不一定足以包含具有 root 权限的进程。

相关内容