MacOS 中类似 fakechroot 的功能?

MacOS 中类似 fakechroot 的功能?

我想chroot在 MacOS 中构建可执行文件时使用一种方法,以便更好地控制它们使用的文件和库。理想情况下可能chroot就足够了(而且它在 MacOS 中可用),但是,首先我认为它要求用户在运行时是 root 用户,其次,我查看了它提供的功能fakechroot,它看起来比chroot我的目的更有趣(但是,fakechroot没有移植到 MacOS)。

特别是,fakechroot看起来像我想要遵循的方式,因为它替换了诸如open()和 之类的功能,通过替换,open()我可以对我为可执行文件创建的“虚拟环境”有很大程度的控制。例如,chroot我的修补程序open()可以只提供对我希望可执行文件使用的库的访问,而不是复制树中所需的系统库。

MacOS 上已经有类似的功能了吗?还是需要我自己写?

答案1

应用沙盒也许比尝试移植第三方代码更合适,因为它在内核中运行并且受到Apple的支持;引用链接:

通过限制对每个应用程序敏感资源的访问,如果攻击者成功利用应用程序中的安全漏洞,应用程序沙箱可以提供最后一道防线,防止用户数据被盗、损坏或删除,或劫持系统硬件。例如,沙盒应用程序必须使用权利明确声明其使用以下任何资源的意图:

...

另一方面,沙盒应用程序可以访问您请求的特定资源,允许用户通过以通常的方式执行典型操作(例如拖放)来扩展沙盒,并且可以自动执行许多被认为安全的附加操作。 。

相关内容