8 votos

¿Rutas montadas extrañamente aleatorias en Sierra para ciertas aplicaciones?

He notado algo muy peculiar con 10.12 que no ocurría con 10.11 y anteriores. Una aplicación de ejemplo es PTHPasteboard . He visto esto con un par de otros, pero no parece suceder siempre.

Esta es la salida de df :

/Volumes/hostname_usr/Users/username/Library/PreferencePanes/PTHPasteboard.prefPane/Contents/Resources/PTHPasteboard.app  1.8Ti  630Gi  1.2Ti    34% 13477289 4281489990    0%   /private/var/folders/cb/72l1ml4267v5hdqmpk4__1p00000gn/T/AppTranslocation/3B5721C9-320C-429B-9141-68AB27C5BC8C

El problema con esto es que esta aleatoriedad hace que MacOS piense que es una nueva aplicación cada vez y hace cosas como preguntar si está bien abrir esta aplicación o Little Snitch pide acceso a la red, etc. Por supuesto, esto puede ser una molestia cuando se abren varias aplicaciones que hacen esto en el inicio y las aplicaciones se inician de inmediato y luego estas cosas se agotan y no se ejecutan.

¿Qué es este comportamiento y cómo puedo hacer que cese? Las aplicaciones están instaladas en /Applications (o en este caso, en mi carpeta de prepane).

14voto

ylluminate Puntos 428

Encontré la respuesta a lo que está pasando aquí, TL;DR:

Eliminar la cuarentena de la aplicación infractora, en mi caso:

sudo xattr -d -r -s com.apple.quarantine ~/Library/PreferencePanes/PTHPasteboard.prefPane

Aparentemente con 10.12 (Sierra) Apple ha implementado algo llamado "App Translocation" y está documentado en la sección "What's New in OS X" -> "Security and Privacy Enhancements":

A partir de OS X v10.12, ya no puedes proporcionar código o datos externos junto a tu aplicación firmada por código en un archivo zip o una imagen de disco sin firmar. Una app distribuida fuera del Mac App Store se ejecuta desde una ruta aleatoria cuando se lanza y, por tanto, no puede acceder a esos recursos externos.

Hay más explicaciones en "OS X Code Signing In Depth":

Si se utiliza una imagen de disco para enviar una aplicación, los usuarios deben arrastrar la aplicación desde la imagen a la ubicación de instalación deseada (normalmente /Applications) antes de iniciarla. Esto también se aplica a las aplicaciones instaladas a través de un archivo ZIP o otros formatos de archivo o aplicaciones descargadas en el directorio de descargas: pida al usuario que arrastre la aplicación a /Applications y la ejecute desde allí.

Esta práctica evita un ataque en el que una aplicación válidamente firmada lanzada desde una imagen de disco, un archivo ZIP o una imagen ISO (CD/DVD) puede cargar código o contenido malicioso desde ubicaciones no confiables en la misma imagen o archivo. A partir de MacOS Sierra, la ejecución de una aplicación recién descargada desde una imagen de disco, un archivo o el directorio de descargas hará que Gatekeeper aísle esa aplicación en una ubicación no especificada de sólo lectura en el sistema de archivos. Esto evitará que la aplicación acceda al código o contenido usando rutas relativas.

Ver este para más información.

Aprecio mucho lo que el autor de ese artículo señala aquí:

¿En qué circunstancias se produce la translocación de aplicaciones?

En primer lugar, la aplicación debe tener un atributo extendido com.apple.quarantine. Si Si elimina el xattr de cuarentena, la translocación de la aplicación no y la aplicación se iniciará desde el lugar en el que estaba sin archivar, como normal.

En segundo lugar, la aplicación debe ser abierta por los Servicios de Lanzamiento. Esto suele significar Finder, pero también puede significar abrir desde la Terminal, por ejemplo. Si usted Si lanza el ejecutable de la aplicación directamente desde bash, por otro lado, la translocación de la aplicación no se produce. no se produce la translocación de la aplicación.

Tercero, la aplicación no debe haber sido movida - por Finder. Si mueve la aplicación, utilizando Finder, desde la ubicación original sin archivar de la aplicación a otra carpeta, incluso una subcarpeta, por ejemplo, ~/Downloads/Test/, entonces la translocación no se produce la translocación.

Sin embargo, si mueves la aplicación usando mv desde el Terminal, entonces App se seguirá produciendo la translocación. Normalmente, usted movería la aplicación de ~/Downloads a /Applications, y eso haría que la aplicación se aplicación sea lanzada desde /Aplicaciones de forma normal, pero las ubicaciones de las carpetas particulares no parecen importar.

El mero hecho de mover la aplicación utilizando el Finder impide que la Translocación de Aplicaciones de la aplicación. De hecho, una vez que hayas movido la aplicación una vez, ya no no volverá a experimentar la Translocación de Aplicaciones, incluso si luego la mueve a ~/Downloads.

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