沙盒应用程序无法挂载卷

Posted

技术标签:

【中文标题】沙盒应用程序无法挂载卷【英文标题】:Sandbox app failure to mount a volume 【发布时间】:2015-02-04 10:02:52 【问题描述】:

我们的应用程序提供加密文件系统。它挂载了一个用户空间卷,允许用户对其进行读/写/创建文件。数据实际上存储在应用程序目录内的加密保管库中,作为挂载卷的后端存储。

应用程序运行良好,直到我们对其进行沙盒处理,并且挂载失败。我在控制台中找到以下内容。

2015 年 4 月 2 日下午 2:56:10.000 内核 [0]:沙盒:拒绝文件写入创建 /Volumes/Personal Vault

有谁知道如何允许沙盒应用程序在 /Volumes 下挂载一个卷。我没有找到这样做的权利。

【问题讨论】:

【参考方案1】:

您必须添加com.apple.security.files.user-selected.read-write 授权并使用NSOpenPanel 让用户选择卷文件夹。

然后您可以使用 NSURLs 保存此选择 bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error: 作为安全书签。或者每次都询问用户。

我的问题是,我现在可以在 /Volumes 中创建挂载点,但我仍然收到 Sandbox 消息:

deny file-mount

但我找不到允许挂载的权利…… 因此,沙盒应用似乎无法挂载某些东西。

【讨论】:

以上是关于沙盒应用程序无法挂载卷的主要内容,如果未能解决你的问题,请参考以下文章

Docker 中的 Docker 无法挂载卷

在没有 noexec 选项的情况下将卷挂载到 docker 容器中

服务器raid数据恢复光纤存储硬盘故障导致raid崩溃,卷无法挂载的数据恢复案例

如何在 kubernetes 中使用 windows 容器挂载卷?

ECS 挂载卷到 nginx 容器

使用主机挂载卷的 Docker 权限开发环境