OS X 沙盒:xattr 和元数据之间的区别

OS X sandboxing: difference between xattr and metadata

为了对我为 OS X 编写的应用程序进行沙盒测试,我使用了 sandbox-exec。我想知道规则 (deny file-read-xattr)(deny file-read-metadata) 之间有什么区别?

  • 文件元数据直接存储在文件节点中的文件系统级别:例如。最后修改日期
  • xattr 与文件系统无关且可扩展:例如。 com.apple.FinderInfo, com.apple.TextEncoding, com.apple.metadata:kMDItemWhereFroms

根据您在应用程序中操作文件的级别(NSFileManager 和 NSURL 或 plain-old-c),您可能需要两种读取规则。