macOS Izin Direktori Mojave

10

MacOS Mojave telah memperluas efek SIP ke direktori home pengguna. Secara default, akses ditolak ke banyak direktori di direktori home pengguna. Beberapa contoh direktori ini mengikuti.

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

Untuk mengakses direktori ini dari terminal, aplikasi terminal harus didefinisikan dalam System Preferences> Security & Privacy> Privacy> Full Disk Access. Konfigurasi berfungsi, kecuali untuk direktori berikut pada sistem saya. Perilaku yang sama mungkin ada untuk data lain dalam wadah - tidak yakin.

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

Perilaku yang menarik itu mudah direproduksi. Direktori bahkan tidak terlihat.

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

Saya gunakan rsyncuntuk mirror direktori home saya ke hard drive eksternal; tapi, saya tidak bisa lagi melakukannya karena rsyncmengeluh, "IO erroremui - melewatkan penghapusan file," yang memecah efek mirroring. Saya tidak menemukan dokumentasi tentang masalah ini. Dukungan Apple tidak tahu. Mengapa direktori ini istimewa, dan bagaimana kita dapat memperoleh akses ke sana tanpa menonaktifkan SIP?

Hasil Investigasi Lebih Lanjut dengan SIP Dinonaktifkan

Menurut Sistem Informasi, pemutakhiran Mojave dilakukan pada 24 September 2018. Direktori juga dibuat pada hari yang sama. Pengguna saya memiliki direktori, dan grup staf adalah pemilik grup. Izinnya adalah 0700. Atributnya diperluas seperti yang ditunjukkan oleh @simbol. Tidak ada ACL. Tidak ada bendera.

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)

Setelah menonaktifkan SIP, menghapus direktori, dan mengaktifkan kembali SIP, direktori muncul kembali dengan izin yang sama segera setelah Mail dibuka. Mail (Versi 12.0 (3445.100.39)) tidak memiliki plugin.

Hasil dari Instalasi Baru pada 16 Oktober 2018

Direktori tidak ada setelah memformat dan menginstal ulang. Saya masih tidak tahu bagaimana memulai di sana.

Hasil dari peningkatan pada 29 Maret 2019

Direktori telah muncul kembali bersamaan dengan peningkatan ke Mojave 10.14.4 (18E226) dan / atau Mail Versi 12.4 (3445.104.8).

Christopher
sumber
Direktori dilindungi oleh flag file, ACL atau atribut extended. Saya perhatikan bahwa banyak file dan direktori memperoleh com.apple.quarantineatribut setelah memutakhirkan ke Mojave, misalnya. Untuk backup saya sendiri (menggunakan resticdari Homebrew), saya mengabaikan saja bit-bit ini ~/Librarykarena tidak ada satupun dari mereka yang sepertinya menjadi perhatian saya atau apa yang biasanya saya lakukan. Saya sendiri memiliki 24 di antaranya.
Kusalananda
Maaf, saya membaca kembali pertanyaan Anda dan memang, setelah menambahkan iTerm2 (dalam kasus saya) ke aplikasi dengan "Akses disk penuh", cadangan sekarang berjalan tanpa masalah (terima kasih untuk itu!). Saya tidak bisa mengatakan lebih banyak tentang kasus Anda. Pada mesin saya, saya dapat melihat bahwa direktori tertentu dan berisi link simbolik ke beberapa direktori dalam direktori rumah saya ( "default" yang suka Documents, Movies, Musicdll).
Kusalananda
Tidak bisa mengatakan lebih banyak Saya tidak memiliki direktori / symlink. Apakah Anda meningkatkan atau menginstal ulang? Apakah "DataVaults" membunyikan bel tentang aplikasi atau fitur apa pun yang sebelumnya Anda gunakan?
Kusalananda

Jawaban:

6

Direktori DataVaults berkaitan dengan hak . Akses dicegah kecuali jika pemilik hak memberikan akses. Hak untuk Mail.app dapat dicantumkan sebagai berikut dan menyediakan daftar XML.

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

Pada saat ini, satu-satunya metode yang tersisa untuk mendapatkan akses ke direktori adalah mematikan SIP. Berkenaan dengan rsyncmasalah saya , saya memilih untuk tetap mengaktifkan SIP dan memanfaatkan rsysncopsi exclude,, untuk mengabaikan direktori DataVaults, yang, omong-omong, tanpa konten.

Dari komentar, blog di Eclectic Light Company , menawarkan lebih banyak petunjuk:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”adalah DataVault, yang merupakan wadah privasi jenis baru yang diperkenalkan Apple sekitar pukul 10.13.4. File / folder ini diidentifikasi oleh bendera file “UF_DATAVAULT”. Ini diimplementasikan melalui SIP (tidak secara teknis sandboxing, tetapi intinya sama). Aplikasi memerlukan hak untuk membuat atau mengakses vault data tertentu, atau bahkan untuk stat () folder DataVault.

Perangkat ini layak diselidiki lebih dalam. Apple tidak (dan tampaknya tidak memiliki rencana untuk) mengeluarkan hak ini kepada pihak ketiga. Pertimbangkan implikasinya - Apple menciptakan platform di mana hanya data yang dibuat dalam aplikasi Apple yang mendapatkan tingkat keamanan tertinggi.

Juga pertimbangkan bahwa Anda (pengguna) tidak dapat melihat apa yang ada di DataVaults ini tanpa mematikan SIP. Sulit untuk mengetahui apa yang disimpan Apple dalam hal ini, tetapi beberapa di antaranya agak mengkhawatirkan. Berikut ini beberapa vault data yang diketahui:

~/Library/VoiceTrigger/SAT

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

Yang pertama itu ternyata memiliki "Siri Audio Transkrip" - semua yang pernah Anda ucapkan ke Siri di Mac Anda.

Saya tidak menemukan bendera ~/Library/Containers/com.apple.mail/Data/DataVaults, dan instalasi Mojave yang bersih menyebabkan direktori tidak muncul lagi sejak itu.

Sebuah gambaran Ringkasan kontrol akses juga diterbitkan.

Christopher
sumber
Anda juga dapat mempertimbangkan opsi rsync --ignore-errors.
dave