macOS Mojave目录权限


10

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日进行的。该目录也是在同一天创建的。我的用户拥有目录,职员组是组所有者。它的许可权是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后,打开邮件后,目录将以相同的权限重新出现。Mail(版本12.0(3445.100.39))没有插件。

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

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

2019年3月29日升级的结果

与升级到Mojave 10.14.4(18E226)和/或Mail版本12.4(3445.104.8)一致,该目录已重新出现。


该目录受文件标志,ACL或扩展属性的保护。我注意到,例如,许多文件和目录com.apple.quarantine在升级到Mojave后都获得了该属性。对于我自己的备份(restic从Homebrew 使用),我只是忽略了这些内容,~/Library因为它们似乎都不关心我或我通常要做的事情。我本人大约有24个。
库萨兰达

抱歉,我重新阅读了您的问题,的确,在将iTerm2(以我为例)添加到具有“全盘访问”功能的应用程序之后,备份现在可以正常运行了(感谢!)。关于您的情况,我无法说更多。在我的机器,我可以看到特定的目录,它包含符号链接到一些在我的主目录的目录(“默认”的像DocumentsMoviesMusic等等)。
库萨兰达

不能说更多。我没有该目录/符号链接。您是否升级或重新安装?“ DataVaults”是否会响起您以前使用的任何应用程序或功能的钟声?
库萨兰达

Answers:


6

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

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

此时,获得目录访问权限的唯一剩余方法是关闭SIP。关于我的rsync问题,我选择保持SIP的打开状态,并使用rsysnc选项exclude来忽略DataVaults目录,而该目录没有内容。

通过评论Eclectic Light Company上的博客,可提供更多线索:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”是DataVault,这是Apple在10.13.4左右的某个时间推出的新型隐私容器。这些文件/文件夹由“ UF_DATAVAULT”文件标志标识。这些是通过SIP实现的(技术上不是沙盒,而是相同的要点)。应用程序需要授权才能制作或访问特定的数据保管库,甚至需要stat()一个DataVault文件夹。

这些设备值得深入研究。苹果没有(而且显然没有计划)向第三方发行这些权利。考虑其中的含义– Apple正在创建一个平台,其中只有在Apple应用程序中创建的数据才能获得最高级别的安全性。

还要考虑到您(用户)在不关闭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导致该目录从此不再出现。

一个总结概述访问控制的也出版了。


您还可以考虑使用rsync选项--ignore-errors。
戴夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.