Разрешения MacOS Mojave Directory

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жалуется: «Обнаружена ошибка ввода-вывода - пропущено удаление файла», что нарушает эффект зеркалирования. Я не нахожу никакой документации по этому вопросу. Поддержка Apple понятия не имеет. Почему этот каталог особенный, и как мы можем получить к нему доступ, не отключая SIP?

Результаты дальнейшего расследования с отключенным SIP

Согласно Системной информации, обновление Мохаве было выполнено 24 сентября 2018 года. Каталог также был создан в тот же день. Мой пользователь владеет каталогом, а группа персонала является владельцем группы. Его разрешения - 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)) не имеет плагинов.

Результаты новой установки 16 октября 2018 года

Каталог не существует после форматирования и переустановки. Я до сих пор понятия не имею, как это началось.

Результаты обновления 29 марта 2019 года

Каталог появился снова, совпадая с обновлением до Mojave 10.14.4 (18E226) и / или Mail версии 12.4 (3445.104.8).

Кристофер
источник
Каталог защищен либо флагом файла, ACL или расширенным атрибутом. Я заметил, что многие файлы и каталоги приобрели com.apple.quarantineатрибут после обновления, например, до Мохаве. Для моих собственных резервных копий (используя resticHomebrew) я просто игнорирую эти биты, ~/Libraryпоскольку ни одна из них, кажется, не касается меня или того, что я обычно делаю в любом случае. У меня есть около 24 таких.
Кусалананда
Извините, я перечитал ваш вопрос и, действительно, после добавления iTerm2 (в моем случае) в приложения с «Полным доступом к диску» резервное копирование теперь выполняется без проблем (спасибо за это!) Я не могу сказать больше о вашем деле. На моей машине я вижу этот конкретный каталог, и он содержит символические ссылки на некоторые из каталогов в моем домашнем каталоге («стандартные», такие как Documents, Moviesи Musicт. Д.).
Кусалананда
Не могу сказать больше. У меня нет этого каталога / символической ссылки. Вы обновили или переустановили? «DataVaults» звонит в звонок относительно какого-либо приложения или функции, которую вы ранее использовали?
Кусалананда

Ответы:

6

Каталог DataVaults имеет отношение к правам . Доступ запрещен, если только владелец разрешения не предоставит доступ. Права для Mail.app могут быть перечислены следующим образом и предоставляют XML-список.

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, получают самый высокий уровень безопасности.

Также учтите, что вы (пользователь) не можете видеть, что находится в этих DataVaults, не отключив SIP. Трудно сказать, что Apple хранит в них, но некоторые из них немного настораживают. Вот лишь несколько известных хранилищ данных:

~/Library/VoiceTrigger/SAT

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

Первый, очевидно, имеет «Siri Audio Transcripts» - все, что вы когда-либо произносили Siri на своем Mac.

Я не нашел флажок ~/Library/Containers/com.apple.mail/Data/DataVaults, и чистая установка Мохаве привела к тому, что каталог больше не появлялся с тех пор.

Краткий обзор , контроля доступа был также опубликован.

Кристофер
источник
Вы также можете рассмотреть опцию rsync --ignore-errors.
Дэйв