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)一致,该目录已重新出现。
Documents
,Movies
,Music
等等)。
com.apple.quarantine
在升级到Mojave后都获得了该属性。对于我自己的备份(restic
从Homebrew 使用),我只是忽略了这些内容,~/Library
因为它们似乎都不关心我或我通常要做的事情。我本人大约有24个。