现在不建议使用Sandbox-exec时如何沙盒第三方应用程序?

问题描述 投票:15回答:1

我已经注意到,在最新的MacOS中,sandbox-exec命令已被弃用。根据它的手册:

The sandbox-exec command is DEPRECATED. Developers who wish to sandbox an app should instead adopt the App Sandbox feature described in the App Sandbox Design Guide. [...]

此外,删除了一些命令,例如sandbox-simplify。另外,似乎跟踪功能不再起作用,下面的配置不再产生输出(虽然在早期版本中却如此):

(version 1) 
(debug all)
(trace "/tmp/trace.sb")
(deny default)

我的问题是,沙盒化第三方应用程序的“新”方式是什么?我并不是从开发人员的角度提出这个问题。我是作为高级用户提出的,想要为我不信任的应用添加更多沙箱限制。

macos security sandbox deprecated
1个回答
2
投票

尽管Apple声称已淘汰了通过配置文件(有时称为“ Seatbelt”)这种较旧的沙箱样式,但截至2020年,苹果和第三方开发人员仍在macOS上广泛使用它。您可以在许多地方找到沙箱配置文件,例如:

[新方法是名称相似的App Sandbox功能(design guide中有更多详细信息)。此较新的沙箱由“权利”控制,“权利”是应用开发人员在构建应用时可以设置为代码签名一部分的各种标志。在内部,它通过在应用程序启动期间应用配置文件/System/Library/Sandbox/Profiles/application.sb来利用上述较旧的沙箱配置文件系统。与完全配置文件系统相比,App Sandbox的局限性要大得多,它仅依赖于几个标志和列表,这些标志和列表不能提供与直接使用配置文件相同的灵活性。据我所知,没有办法以用户身份控制这个较新的系统,因为您需要重新包装并重新签约一个应用程序。

作为用户,sandbox-exec的沙箱配置文件仍然是您在macOS上的主要且唯一的选择。尽管它可能已被弃用,但看起来它们也不会很快消失,因为它仍然广泛用于个人资料形式和作为较新的App Sandbox功能的内部层。

© www.soinside.com 2019 - 2024. All rights reserved.