为什么“ chroot”从未在Mac OS X上使用?


9

我使用Mac已有25年了,自OS X 10.0起使用“ UNIX” ..但是我从未真正考虑过chroot,也从未真正需要或不想...

这是一个简单的问题,但是……在什么情况下,人们会选择在Mac上使用“ chroot”?它确实是BSD时代的内置函数,但我从未听说过它正在使用...该功能是否是另一种无需使用chroot的命令行或系统级工具的一部分?如果是这样,等效功能是什么?如果不是,为什么它似乎从未被使用,引用或需要?

Answers:


14

chroot的使用主要有两大类(有关Wikipedia的文章有更详细的介绍):

  • 隔离应用程序,为它提供文件系统的受限视图。例如,通常是对公用FTP服务器执行此操作,以确保即使服务器软件中存在错误,公用FTP服务器也无法在公共区域之外提供文件。此用例变得越来越普遍,原因有两个。首先,chroot没有提供太多隔离,服务器中的漏洞可能使攻击者除了访问文件以外,还可以通过许多其他方式造成损害。其次,确实提供了更强隔离性的虚拟机变得便宜得多,并且通常更易于设置,因此它们是自然的选择。
  • 在具有相同内核但不同库的不同操作系统中运行软件。例如,按照David Cournapeau的建议,如果您正在开发软件,则安装了很多额外的东西,并且想要确保您的软件不依赖那些额外的东西,您可以在chroot中仅测试一个最少的安装。或者(但我不认为这在OSX系统中很常见),您可能会运行其他OS版本-例如,在我极少数情况下,我有一个64位Linux系统,该系统具有chroot可访问的32位发行版。需要运行不会直接在主系统上运行的32位应用程序。

两种用例都相当专业。Chroot对大多数人毫无用处。它之所以存在,是因为它对某些人有用,并且实现起来非常便宜。


6

我在Mac OS X上使用chroot来测试某些软件,或测试所涉及项目的打包(例如,当我使用10.6时,在10.4上测试安装)。


2
您能举一个使用方法的例子吗?
亚历山大·米尔斯

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.