Autorisations du répertoire macOS Mojave


10

MacOS Mojave a étendu les effets de SIP dans les répertoires personnels des utilisateurs. Par défaut, l'accès est refusé à de nombreux répertoires du répertoire de base d'un utilisateur. Voici quelques exemples de ces répertoires.

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

Pour accéder à ces répertoires à partir d'un terminal, l'application du terminal doit être définie dans Préférences Système> Sécurité et confidentialité> Confidentialité> Accès complet au disque. La configuration fonctionne, à l'exception du répertoire suivant sur mon système. Le même comportement peut exister pour d'autres données dans des conteneurs - pas sûr.

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

Le comportement intrigant est facile à reproduire. Le répertoire n'est même pas visible.

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

J'utilise rsyncpour mettre en miroir mon répertoire personnel sur un disque dur externe; mais je ne peux plus le faire car je me rsyncplains, "Erreur d'E / S rencontrée - suppression de fichiers supprimés", ce qui rompt l'effet miroir. Je ne trouve aucune documentation sur ce problème. Le support Apple n'en a aucune idée. Pourquoi ce répertoire est-il spécial et comment pouvons-nous y accéder sans désactiver SIP?

Résultats d'une enquête plus approfondie avec SIP désactivé

Selon System Information, la mise à niveau de Mojave a été effectuée le 24 septembre 2018. Le répertoire a également été créé le même jour. Mon utilisateur est propriétaire du répertoire et le groupe d'employés est le propriétaire du groupe. Ses autorisations sont 0700. Il a des attributs étendus comme indiqué par le @symbole. Pas d'ACL. Pas de drapeaux.

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)

Après avoir désactivé SIP, supprimé le répertoire et réactivé SIP, le répertoire réapparaît avec les mêmes autorisations dès que Mail est ouvert. Mail (Version 12.0 (3445.100.39)) n'a pas de plugins.

Résultats d'une nouvelle installation le 16 octobre 2018

Le répertoire n'existe pas après le formatage et la réinstallation. Je ne sais toujours pas comment cela a pu commencer.

Résultats d'une mise à niveau le 29 mars 2019

Le répertoire est réapparu coïncidant avec la mise à niveau vers Mojave 10.14.4 (18E226) et / ou Mail Version 12.4 (3445.104.8).


Le répertoire est protégé par un indicateur de fichier, une ACL ou un attribut étendu. J'ai remarqué que de nombreux fichiers et répertoires ont acquis l' com.apple.quarantineattribut après la mise à niveau vers Mojave, par exemple. Pour mes propres sauvegardes (à l'aide resticde Homebrew), j'ignore simplement ces bits ~/Librarycar aucun d'entre eux ne semble me concerner ou ce que je fais habituellement de toute façon. J'en ai 24 moi-même.
Kusalananda

Désolé, j'ai relu votre question et en effet, après avoir ajouté l'iTerm2 (dans mon cas) aux applications avec "Accès complet au disque", la sauvegarde s'exécute maintenant sans problème (merci pour cela!). Je ne peux pas en dire plus sur votre cas. Sur ma machine, je peux voir ce répertoire particulier et contient des liens symboliques vers quelques - uns des répertoires dans mon répertoire personnel (les « par défaut » comme Documents, Movies, Musicetc.).
Kusalananda

Je ne peux pas en dire plus. Je n'ai pas ce répertoire / lien symbolique. Avez-vous mis à niveau ou réinstallé? Est-ce que "DataVaults" vous dit quelque chose concernant une application ou une fonctionnalité que vous avez déjà utilisée?
Kusalananda

Réponses:


6

Le répertoire DataVaults concerne les droits d' accès . L'accès est interdit à moins que le propriétaire du droit n'accorde l'accès. Les droits pour Mail.app peuvent être répertoriés comme suit et fournissent une liste XML.

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

À l'heure actuelle, la seule méthode restante pour accéder à l'annuaire est de désactiver SIP. En ce qui concerne mon rsyncproblème, j'ai choisi de garder SIP activé et j'ai utilisé l' rsysncoption exclude, pour ignorer le répertoire DataVaults, qui, soit dit en passant, est dépourvu de contenu.

D'après un commentaire, le blog de Eclectic Light Company , offrant plus d'indices:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”est un DataVault, qui est un nouveau type de conteneur de confidentialité qu'Apple a introduit vers 10.13.4. Ces fichiers / dossiers sont identifiés par l'indicateur de fichier «UF_DATAVAULT». Celles-ci sont implémentées via SIP (pas techniquement sandboxing, mais le même principe). Les applications ont besoin d'un droit pour créer ou accéder à des coffres de données spécifiques, ou même pour stat () un dossier DataVault.

Ces appareils méritent une enquête plus approfondie. Apple n'émet pas (et n'a apparemment pas l'intention de le faire) ces droits à des tiers. Considérez les implications de cela - Apple crée une plate-forme où seules les données créées dans les applications Apple bénéficient du plus haut niveau de sécurité.

Sachez également que vous (l'utilisateur) ne pouvez pas voir le contenu de ces DataVaults sans désactiver SIP. Il est difficile de dire ce qu'Apple garde là-dedans, mais certains d'entre eux sont un peu alarmants. Voici quelques coffres de données connus:

~/Library/VoiceTrigger/SAT

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

Ce premier a apparemment "Siri Audio Transcripts" - tout ce que vous avez jamais dit à Siri sur votre Mac.

Je n'ai pas trouvé d'indicateur ~/Library/Containers/com.apple.mail/Data/DataVaults, et une nouvelle installation de Mojave a fait que le répertoire n'apparaissait plus depuis.

Un résumé des contrôles d'accès a également été publié.


Vous pouvez également envisager l'option rsync --ignore-errors.
Dave
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.