Permisos del directorio macOS Mojave

10

MacOS Mojave ha extendido los efectos de SIP en los directorios de inicio de los usuarios. Por defecto, el acceso está denegado a muchos directorios en el directorio de inicio de un usuario. A continuación se presentan algunos ejemplos de estos directorios.

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

Para acceder a estos directorios desde un terminal, la aplicación del terminal debe definirse en Preferencias del sistema> Seguridad y privacidad> Privacidad> Acceso total al disco. La configuración funciona, excepto para el siguiente directorio en mi sistema. El mismo comportamiento puede existir para otros datos en contenedores, no estoy seguro.

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

El comportamiento intrigante es fácil de reproducir. El directorio ni siquiera es visible.

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

Yo uso rsyncpara reflejar mi directorio de inicio en un disco duro externo; pero ya no puedo hacerlo porque se rsyncqueja de "error de E / S encontrado: omitiendo la eliminación del archivo", lo que rompe el efecto de reflejo. No encuentro ninguna documentación sobre este tema. El soporte de Apple no tiene idea. ¿Por qué es especial este directorio y cómo podemos acceder a él sin desactivar SIP?

Resultados de una investigación adicional con SIP desactivado

Según la información del sistema, la actualización de Mojave se realizó el 24 de septiembre de 2018. El directorio también se creó el mismo día. Mi usuario posee el directorio y el grupo de personal es el propietario del grupo. Sus permisos son 0700. Tiene atributos extendidos como lo indica el @símbolo. No hay ACL. No hay banderas

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)

Después de deshabilitar SIP, eliminar el directorio y volver a habilitar SIP, el directorio vuelve a aparecer con los mismos permisos tan pronto como se abre Mail. El correo (versión 12.0 (3445.100.39)) no tiene complementos.

Resultados de una nueva instalación el 16 de octubre de 2018

El directorio no existe después de formatear y reinstalar. Todavía no tengo idea de cómo estuvo allí para comenzar.

Resultados de una actualización el 29 de marzo de 2019

El directorio ha reaparecido coincidiendo con la actualización a Mojave 10.14.4 (18E226) y / o Mail Versión 12.4 (3445.104.8).

Christopher
fuente
El directorio está protegido por un indicador de archivo, ACL o un atributo extendido. He notado que muchos de los archivos y directorios adquirieron el com.apple.quarantineatributo después de actualizar a Mojave, por ejemplo. Para mis propias copias de seguridad (usando resticHomebrew), simplemente ignoro estos bits ~/Libraryya que ninguno de ellos parece preocuparme o lo que suelo hacer de todos modos. Tengo unos 24 de estos yo mismo.
Kusalananda
Lo sentimos, volví a leer su pregunta y, de hecho, después de agregar iTerm2 (en mi caso) a las aplicaciones con "Acceso total al disco", la copia de seguridad ahora se ejecuta sin problemas (¡gracias por eso!). No puedo decir más sobre tu caso. En mi máquina, puedo ver ese directorio particular y que contiene enlaces simbólicos a algunos de los directorios de mi directorio raíz (los "por defecto", como Documents, Movies, Musicetc.).
Kusalananda
No puedo decir mas. No tengo ese directorio / enlace simbólico. ¿Actualizaste o reinstalaste? ¿"DataVaults" suena una campana con respecto a cualquier aplicación o característica que haya utilizado anteriormente?
Kusalananda

Respuestas:

6

El directorio DataVaults tiene que ver con derechos . Se impide el acceso a menos que el propietario del derecho conceda el acceso. Los derechos para Mail.app se pueden enumerar de la siguiente manera y proporciona una lista XML.

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

En este momento, el único método restante para obtener acceso al directorio es desactivar SIP. Con respecto a mi rsyncproblema, opté por mantener SIP activado y utilicé la rsysncopción exclude, para ignorar el directorio DataVaults, que, por cierto, carece de contenido.

De un comentario del blog de Eclectic Light Company , que ofrece más pistas:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”es un DataVault, que es un nuevo tipo de contenedor de privacidad que Apple introdujo en algún momento alrededor de 10.13.4. Estos archivos / carpetas se identifican mediante el indicador de archivo "UF_DATAVAULT". Estos se implementan a través de SIP (no técnicamente sandboxing, sino la misma esencia). Las aplicaciones necesitan un derecho para crear o acceder a bóvedas de datos específicas, o incluso a stat () una carpeta DataVault.

Estos dispositivos merecen una investigación más profunda. Apple no (y aparentemente no tiene planes de) emitir estos derechos a terceros. Considere las implicaciones de eso: Apple está creando una plataforma donde solo los datos creados en las aplicaciones de Apple obtienen el más alto nivel de seguridad.

También considere que usted (el usuario) no puede ver lo que hay en estos DataVaults sin desactivar SIP. Es difícil saber qué mantiene Apple en estos, pero algunos de ellos son un poco alarmantes. Aquí hay algunas bóvedas de datos conocidas:

~/Library/VoiceTrigger/SAT

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

Aparentemente, el primero tiene "Transcripciones de audio Siri", todo lo que le has dicho a Siri en tu Mac.

No encontré un indicador activado ~/Library/Containers/com.apple.mail/Data/DataVaults, y una instalación limpia de Mojave hizo que el directorio no volviera a aparecer desde entonces.

También se publicó un resumen de los controles de acceso.

Christopher
fuente
También podría considerar la opción rsync --ignore-errors.
Dave