macOS Mojave 目录权限

macOS Mojave 目录权限

MacOS Mojave 已将 SIP 的影响扩展到用户的主目录中。默认情况下,拒绝访问用户主目录中的许多目录。下面是这些目录的一些示例。

~/Library/Messages
~/Library/Mail
~/Library/Safari
[… etc.]

为了从终端访问这些目录,必须在系统首选项 > 安全和隐私 > 隐私 > 全磁盘访问中定义终端应用程序。除了我的系统上的以下目录之外,配置有效。容器中的其他数据可能存在相同的行为 - 不确定。

~/Library/Containers/com.apple.mail/Data/DataVaults

这种有趣的行为很容易重现。该目录甚至不可见。

cd ~/Library/Containers/com.apple.mail/Data
ls
ls: DataVaults: Operation not permitted

我用来rsync将我的主目录镜像到外部硬盘驱动器;但是,我不能再这样做,因为rsync抱怨“遇到 IO 错误 - 跳过文件删除”,这破坏了镜像效果。我没有找到有关此问题的任何文档。苹果支持不知道。为什么这个目录很特殊,我们如何在不禁用 SIP 的情况下访问它?

SIP 禁用的进一步调查结果

根据系统信息,Mojave 升级于 2018 年 9 月 24 日进行。该目录也在同一天创建。我的用户拥有该目录,而 Staff 组是组所有者。它的权限是0700。它具有扩展属性,如 符号所示@。没有 ACL。没有旗帜。

xattr -l ~/Library/Containers/com.apple.mail/Data/DataVaults

com.apple.quarantine: 0082;00000000;Mail;
com.apple.rootless: Mail

ls -lO DataVaults
(no result; exit 0)

禁用 SIP、删除目录并重新启用 SIP 后,一旦打开“邮件”,该目录就会以相同的权限重新出现。邮件(版本 12.0 (3445.100.39))没有插件。

2018 年 10 月 16 日全新安装的结果

格式化重装后该目录不存在。我仍然不知道它是如何开始的。

2019年3月29日升级结果

该目录在升级到 Mojave 10.14.4 (18E226) 和/或邮件版本 12.4 (3445.104.8) 的同时重新出现。

答案1

DataVaults 目录与权利。除非权利所有者授予访问权限,否则访问将被阻止。 Mail.app 的权利可如下列出并提供 XML plist。

codesign -d --entitlements - /Applications/Mail.app/

此时,获取目录访问权限的唯一方法就是关闭 SIP。关于我的rsync问题,我选择保持 SIP 打开并使用rsysnc选项exclude忽略 DataVaults 目录,顺便说一下,该目录没有内容。

来自博客的评论折衷照明公司,提供更多线索:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”DataVault 是 Apple 在 10.13.4 左右推出的一种新型隐私容器。这些文件/文件夹由“UF_DATAVAULT”文件标志标识。这些是通过 SIP 实现的(技术上不是沙箱,但要点相同)。应用程序需要有权创建或访问特定的数据仓库,甚至 stat() DataVault 文件夹。

这些设备值得进行更深入的研究。苹果不会(而且显然也没有计划)向第三方发放这些权利。考虑一下这意味着什么——苹果正在创建一个平台,只有在苹果应用程序中创建的数据才能获得最高级别的安全性。

另请注意,如果不关闭 SIP,您(用户)将无法查看这些 DataVault 中的内容。很难说苹果在这些内容中保留了什么,但其中一些内容有点令人担忧。以下是一些已知的数据保险库:

~/Library/VoiceTrigger/SAT

~/Library/Containers/com.apple.mail/Data/DataVaults /private/var/folders/0z/fs4vdwmx6g31n69qt5v5ff580000gn/0/com.apple.nsurlsessiond

第一个显然有“Siri 音频记录”——您在 Mac 上对 Siri 说过的所有内容。

我在 上没有找到标志~/Library/Containers/com.apple.mail/Data/DataVaults,并且 Mojave 的全新安装导致该目录此后不再出现。

A摘要概述还发布了访问控制。

相关内容