Mac 如何知道可执行文件来自外界?

Mac 如何知道可执行文件来自外界?

这只是我昨天在其他 Mac 上测试程序时想到的一个奇怪的问题。

当我在 xcode/terminal 中构建程序并运行它时,没有警告对话框。但是当我将可执行文件复制到另一台 Mac 时,会出现一个警告对话框。

那么,可执行文件所有权由什么指定以及 Mac 如何检测它?

答案1

这是由 macOS 中的隔离系统处理的。下载文件时,下载程序(浏览器或其他程序)会将特殊扩展属性附加到文件。打开文件时,启动服务会注意到隔离属性并应用一些特殊的安全限制(例如您看到的通知)。

Apple 的 OS X v10.5 开发者发布说明(引入隔离时)。您还可以在终端中看到扩展属性ls -l@ /path/to/file;它是“com.apple.quarantine”。您可能还会看到“com.apple.metadata:kMDItemWhereFroms”和“com.apple.metadata:kMDItemDownloadedDate”属性。

相关内容