0

我的沙盒应用程序中有一个自编译的二进制文件。根据用户请求,我运行命令。它尝试在卷上创建文件并因权限被拒绝而失败。

该应用程序是沙盒化的,并且为 file:/// 创建了一个安全范围书签并且有效。从终端运行该命令时,不需要 sudo。

let task = Process()
task.launchPath = Bundle.main.url(forResource: "f3write", withExtension: nil)
task.arguments = ["/Volume/SDCard"]
task.launch()

我正在管道输出命令:

Free space: 28.64 GB
Creating file 1.h2w ... 
f3write: Can't create file /Volumes/SDCard/1.h2w: Operation not permitted
4

1 回答 1

0

正如评论中提到的,file:/// 的安全范围书签不仅被滥用,而且也没有授予对文件卷结构中文件夹的写访问权限。

如果我在从我的应用程序中运行 f3write 命令之前为 /Volumes/SDCard 添加书签,则不会显示错误并且命令运行良好。

于 2021-01-11T14:34:15.137 回答