Cómo otorgar a una aplicación Mac permiso para leer todo el sistema de archivos

13

Compré esta aplicación llamada Xee en la tienda de aplicaciones de Mac. Puede abrir archivos perfectamente bien, pero cuando trato de navegar a través de una carpeta desde la aplicación Xee, tiene que solicitar permiso. (Vea la captura de pantalla a continuación.) Tengo que hacer esto para cada carpeta la primera vez que la busco.

Supongo que esta es una limitación impuesta por la tienda de aplicaciones. ¿Hay alguna forma de eludir esto y otorgar permiso a una aplicación (instalada en mi máquina) para ver cualquier directorio, o incluso para hacer todo lo que quiera?

Captura de pantalla

Brian Gordon
fuente
1
Esto se llama - Seguridad. Y lo más probable es que no desee que una aplicación tenga acceso completo a CUALQUIER carpeta de su sistema.
Rob
¿Esto solo ocurre para archivos / carpetas fuera de su carpeta de usuario o también para cosas dentro?
nohillside
@patrix Sucede dentro de mi carpeta de usuario.
Brian Gordon el

Respuestas:

3

Es un poco complicado, pero puede eliminar el entorno limitado cambiando el <key>com.apple.security.app-sandbox</key>valor (que se establece en < true/>) con un editor hexadecimal.

En macOS Sierra 10.12 configúrelo en < false/>
En macOS El Capitain 10.11 o anterior configúrelo en < fals/>

Para Xee necesitas editar los siguientes binarios:

  • /Applications/Xee³.app/Contents/MacOS/Xee³
  • /Applications/Xee³.app/Contents/Loader/Xee3.ImageLoader

Fuente: /programming/7018354/remove-sandboxing

Bob Fanger
fuente
¡Gracias! Funciona. No olvide chmod a+xlos archivos si utilizó su editor hexadecimal para crear nuevos archivos.
Brian Gordon
Además, hexed.it es fantástico.
Brian Gordon
1
Esta no es realmente una solución en el futuro. El Sandboxing de aplicaciones es cada vez más necesario a medida que pasa el tiempo, por lo que trabajar con él es mejor que trabajar en su contra
Ben Leggiero
Considere enviar comentarios a Apple sobre esta limitación y cómo limita su flujo de trabajo. Los comentarios de los clientes ayudarán a dar forma a lo que las aplicaciones de Mac App Store pueden y no pueden hacer en el futuro. Por ahora, las aplicaciones compradas a través de Apple Mac App Store son limitadas.
Bob Fanger el
19

La aplicación está protegida. Esto significa que la aplicación ha sido firmada con un conjunto de derechos. Mac OS X impone estos derechos. La documentación del desarrollador de Apple sobre sandboxing proporciona más detalles.

Puede ver los derechos de sandbox de Xee utilizando el siguiente comando Terminal.app:

codesign --display --entitlements - /Applications/Xee.app

El artículo de Ole Begemann, Comprobación de la firma del código y el estado de sandboxing en el código , explica más.

Renunciar o quitar derechos

Para eliminar los derechos, debe volver a codificar la firma de la aplicación sin derechos, utilizando codesign, o eliminar completamente la firma del código de la aplicación.

Pregunte a los desarrolladores de Xee

No se recomienda modificar una aplicación de Mac. Solicite ayuda a los desarrolladores de Xee sobre cómo solucionar este comportamiento; solo ellos tienen el conocimiento apropiado para resolver este problema.

Los desarrolladores de Xee parecen estar conscientes del problema:

(Tenga en cuenta que la versión de la tienda de aplicaciones está protegida, mientras que las versiones completas y de prueba que no son de la tienda de aplicaciones no están protegidas. Si prefiere la seguridad de la caja de arena de OS X, debe obtener la versión de la tienda de aplicaciones. Sin embargo, la versión de la caja de arena debe pedirle permiso para ciertas operaciones, y si encuentra esto molesto, debería obtener la versión que no sea de la tienda de aplicaciones).

Dile a Apple

Considere enviar comentarios a Apple sobre esta limitación y cómo limita su flujo de trabajo. Los comentarios de los clientes ayudarán a dar forma a lo que las aplicaciones de Mac App Store pueden y no pueden hacer en el futuro. Por ahora, las aplicaciones compradas a través de Apple Mac App Store son limitadas.

Graham Miln
fuente
2
Respuesta estelar sobre sandboxing: bien hecho cubriendo un tema complicado de una manera legible.
bmike
-4

Intente copiar el contenido de la aplicación en su disco duro y ábralo desde allí. Tal vez la aplicación está protegiendo sus archivos de sí misma.

naoxink
fuente