Permissions

macOS Mojave 目錄權限

  • May 25, 2019

MacOS Mojave 已將 SIP 的效果擴展到使用者的主目錄。預設情況下,拒絕訪問使用者主目錄中的許多目錄。以下是這些目錄的一些範例。

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

為了從終端訪問這些目錄,必須在 System Preferences > Security & Privacy > Privacy > Full Disk Access 中定義終端應用程序。配置有效,除了我係統上的以下目錄。容器中的其他數據可能存在相同的行為 - 不確定。

~/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,目錄就會以相同的權限重新出現。Mail(版本 12.0 (3445.100.39))沒有外掛。

2018 年 10 月 16 日全新安裝的結果

格式化並重新安裝後該目錄不存在。我仍然不知道它是如何開始的。

2019 年 3 月 29 日昇級的結果

該目錄在升級到 Mojave 10.14.4 (18E226) 和/或郵件版本 12.4 (3445.104.8) 時重新出現。

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 正在創建一個平台,只有在 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 的全新安裝導致該目錄從此不再出現。

還發布了訪問控制的摘要概述。

引用自:https://unix.stackexchange.com/questions/472576