1 votos

Comprobar si una aplicación puede leer determinadas carpetas

Según parece, MacOS restringe la lectura de muchas carpetas por parte de las aplicaciones recién instaladas sin el permiso del usuario. Sé que estos permisos aparecen en Preferencias del Sistema->Privacidad->Archivos y Carpetas

Pero, ¿hay alguna forma de verificar que estos permisos se aplican realmente? ¿Como si pudiera abrir un shell con los mismos permisos que una aplicación específica? Algo así como su - nameofapp ?

Lo pregunto porque acabo de instalar la aplicación Amazon Kindle desde la MacOS App Store. He mirado en ~/Library/Containers/com.amazon.Kindle/Data y ver esto

❯ pwd
/Users/gregg/Library/Containers/com.amazon.Kindle/Data
❯ ls -l
total 0
lrwxr-xr-x   1 gregg  staff    19 Jan  7 21:01 Desktop -> ../../../../Desktop
drwx------   2 gregg  staff    64 Jan  7 21:01 Documents
lrwxr-xr-x   1 gregg  staff    21 Jan  7 21:01 Downloads -> ../../../../Downloads
drwx------  33 gregg  staff  1056 Jan  7 21:19 Library
lrwxr-xr-x   1 gregg  staff    18 Jan  7 21:01 Movies -> ../../../../Movies
lrwxr-xr-x   1 gregg  staff    17 Jan  7 21:01 Music -> ../../../../Music
lrwxr-xr-x   1 gregg  staff    20 Jan  7 21:01 Pictures -> ../../../../Pictures
drwx------   2 gregg  staff    64 Jan  7 21:01 SystemData
drwx------   2 gregg  staff    64 Jan  7 21:01 tmp

Aparentemente la aplicación ha hecho enlaces a un montón de carpetas. ¿Cómo puedo saber si la aplicación está realmente impedida de acceder a esas carpetas a través de los enlaces? No le he dado a la aplicación ningún permiso y sólo me gustaría verificar que estos enlaces no están fuera de los permisos.

2voto

Steve Evans Puntos 155

MacOS App Sandbox

~/Library/Containers es creado por MacOS y no por la aplicación. Las aplicaciones en el entorno de pruebas son efectivamente chroot 'd en su contenedor. Puede obtener más información en la página de Apple Guía de diseño de App Sandbox documentación.

Las aplicaciones en el entorno de pruebas (sandbox) tienen un com.apple.security.app-sandbox derecho establecido en true .

Puede ver los derechos de una aplicación utilizando la herramienta de línea de comandos codesign :

codesign --display --entitlements=- /Applications/Safari.app

No hay manera de ejecutar un shell script utilizando los derechos de otra aplicación.

El enfoque de sandboxing de MacOS requiere que Confíe en La implementación de Apple.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X