Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 当“sandbox exec”现在不推荐使用时,如何对第三方应用程序进行沙箱处理?_Macos_Security_Sandbox_Deprecated - Fatal编程技术网

Macos 当“sandbox exec”现在不推荐使用时,如何对第三方应用程序进行沙箱处理?

Macos 当“sandbox exec”现在不推荐使用时,如何对第三方应用程序进行沙箱处理?,macos,security,sandbox,deprecated,Macos,Security,Sandbox,Deprecated,我注意到在最新的MacOS中,sandboxexec命令已被弃用。根据其手册: 不推荐使用沙盒exec命令。希望对应用程序进行沙箱处理的开发人员应该采用《应用程序沙箱设计指南》中描述的应用程序沙箱功能。[…] 此外,还删除了一些命令,如sandboxsimplify。此外,跟踪函数似乎不再工作,以下配置不再产生输出(而在早期版本中是这样的): (第1版) (全部调试) (trace“/tmp/trace.sb”) (拒绝违约) 我的问题是,对第三方应用程序进行沙箱处理的“新”方式是什么?我不是

我注意到在最新的MacOS中,
sandboxexec
命令已被弃用。根据其手册:

不推荐使用沙盒exec命令。希望对应用程序进行沙箱处理的开发人员应该采用《应用程序沙箱设计指南》中描述的应用程序沙箱功能。[…]

此外,还删除了一些命令,如
sandboxsimplify
。此外,跟踪函数似乎不再工作,以下配置不再产生输出(而在早期版本中是这样的):

(第1版)
(全部调试)
(trace“/tmp/trace.sb”)
(拒绝违约)

我的问题是,对第三方应用程序进行沙箱处理的“新”方式是什么?我不是从开发人员的角度问这个问题。作为一个超级用户,我要求它为我不信任的应用程序增加额外的沙箱限制。

虽然苹果声称这种通过配置文件(有时称为“安全带”)进行沙箱的旧式方式已被弃用,但截至2020年,苹果和第三方开发者仍在macOS上大量使用。您可以在不同的位置找到沙箱配置文件,例如:

  • /System/Library/Sandbox/Profiles
    用于各种macOS系统组件
新方法是命名类似的功能(更多详细信息,请参阅)。这种新的沙箱由“授权”控制,授权是应用程序开发人员在构建应用程序时可以设置为代码签名一部分的各种标志。在内部,它通过在应用程序启动期间应用profile
/system/Library/Sandbox/Profiles/application.sb
,利用了上面较旧的沙箱配置文件系统。appsandbox比完整的概要文件系统要有限得多,它只依赖于几个标志和列表,不能提供与直接使用概要文件相同的灵活性。据我所知,作为一个用户,没有办法控制这个较新的系统,因为你需要重新打包并放弃一个应用程序来实现这一点


作为用户,
sandboxexec
的沙盒配置文件仍然是您在macOS上的主要和唯一选项。虽然它可能会说不推荐,但看起来它们也不会很快消失,因为它仍然广泛应用于个人资料表单和新应用程序沙盒功能的内部层。

你找到了答案吗?我也试着做同样的事情,但没能幸运地做到不:(有没有什么地方可以找到
沙盒简化
,这样我们就可以轻松创建自己的个人资料了?@JonathanCross啊,不幸的是,我不确定这一点,因为我认为苹果没有提供。我能想到的最好办法是从旧版本复制它,但不确定它是否还能运行。我只是偶然发现了这个话题,这是我的一部分这澄清了新的应用程序沙盒实际上也是通过加载一个配置文件来运行的,因此我编辑了我的答案以澄清两者之间的联系。