1 votos

¿Debo introducir este comando en el Terminal?

Antecedentes: Hace más o menos un mes compré una aplicación de un desarrollador con (lo que me pareció) una reputación decente. La aplicación no funcionaba como esperaba, así que me puse en contacto con el servicio técnico, que me respondió en una semana con la respuesta (todos los errores tipográficos y gramaticales y otras rarezas verbales copiadas textualmente del original):

Muchas gracias por su amable comentario. Y siento de verdad que se tarde mucho tiempo en localizar el motivo y encontrar la solución. I sinceramente las disculpas por los inconvenientes que le ha causado.

Nuestro equipo de DEV realiza un diagnóstico más profundo y encuentra la solución para usted. Por favor, pruebe la versión personalizada para resolver el problema.

[https://drive.google.com/file/\[enlace](https://drive.google.com/file/%5Blink) redactado]

Por favor, descárgalo y descomprímelo para probarlo de nuevo.

Así que, de acuerdo. Descargué el archivo, lo descomprimí y lo inicié sólo para recibir el mensaje de error:

[Nombre de la aplicación] está dañada y no se puede abrir. Debes moverla a la Papelera.

Volví a escribir al servicio técnico, informando del mensaje de error. Me respondieron con las siguientes instrucciones:

Muchas gracias por su amable comentario. Dada esta rara situación, ¿podría consultar las siguientes instrucciones para resolver los problemas?

  1. Busque la opción "Terminal" en su ordenador;

  2. Y luego, por favor, introduzca la ruta de acceso a continuación:

sudo xattr -rd com.apple.quarantine / (Ubicación de la aplicación)

A continuación, introduzca la contraseña de su ordenador. A continuación, puede utilizarlo.

Ahora, soy casi completamente analfabeto de UNIX, y soy reacio a introducir cualquier comando en Terminal a menos que sepa exactamente lo que va a hacer - y esto parece ser un comando diseñado para desactivar las medidas de seguridad. Además, un poco de búsqueda en Google sugiere que este comando, haga lo que haga, suele recomendarse cuando se obtiene un permiso error (por ejemplo, "No tiene permiso para abrir la aplicación"), que es no el error que estoy recibiendo.

Así que mis preguntas:

  1. ¿Qué hará este comando?
  2. ¿Es seguro que lo ejecute?
  3. ¿Es probable que sirva de algo?

7voto

rybosome Puntos 1829

Desglose de este comando:

sudo xattr -rd com.apple.quarantine /path/to/app/location

  • sudo : Ejecute el resto del comando con privilegios de superusuario (Root). Más información: man sudo
  • xattr : Muestra o modifica los atributos extendidos del sistema de archivos en un archivo o directorio. Los atributos extendidos son aquellos que van más allá de los permisos estándar de usuario/grupo/otros de lectura/modificación/escritura/ejecución de POXIX. Más información: man xattr
  • -rd : Son dos banderas/argumentos distintos que se pasarán a xattr . r significa que si se invoca xattr en un directorio, la operación se realizará de forma recursiva en todos los archivos y directorios que contenga. Dado que se trata de una aplicación, que en realidad es un paquete (es decir, un directorio estructurado), esta bandera es necesaria para alcanzar todo el contenido del paquete. d significa que la operación realizada será borrar el atributo especificado del archivo o directorio.
  • com.apple.quarantine : Este es otro argumento que se pasa a xattr . Especifica el nombre del atributo sobre el que se va a operar (eliminar, en este caso). La dirección com.apple.quarantine es el mecanismo por el que los archivos descargados desde Safari y algunas otras aplicaciones se marcan como si hubieran sido descargados desde Internet (que es un entorno potencialmente hostil), en lugar de proceder de un entorno presumiblemente seguro, como la Mac App Store o los archivos creados por el usuario. Cuando un usuario intenta ejecutar un binario en cuarentena por primera vez, el kernel se engancha al quarantine.kext extensión del kernel y la ejecución está controlada por una interacción de la interfaz de usuario que presenta la "Este archivo fue descargado de Internet. ¿Está seguro de que quiere abrirlo?" panel.
  • /path/to/app/location : Este es el último argumento que se pasa a xattr . Especifica el archivo o directorio cuyos atributos xattr leerá o modificará.

Cuando se pone todo junto, este comando dice:

"Para cada archivo y carpeta dentro de /path/to/app/location , eliminar el com.apple.quarantine atributo. Haga todo esto como el usuario root".

Esta es la razón por la que se le pide que ejecute esto:

  1. La aplicación cuya ruta has especificado al final de este comando se ha descargado de Internet a través de tu navegador.
  2. MacOS reconoce que cualquier archivo procedente de Internet puede ser inseguro, por lo que aplica el atributo de cuarentena en el momento de la descarga.
  3. Este archivo es una aplicación, así que cuando intentaste abrirlo, el kernel vio que estaba en cuarentena y ejecutó comprobaciones de seguridad sobre él. Sólo hace esto antes del primer lanzamiento exitoso; los lanzamientos posteriores omiten este mecanismo de seguridad si tuvo éxito previamente.
  4. La aplicación no ha superado las comprobaciones por algún motivo y MacOS te ha informado de que la aplicación está dañada.
  5. El desarrollador quiere que elimines el atributo de cuarentena para evitar los controles de seguridad y permitir que la aplicación se ejecute.

Así que el comando de Terminal anterior por sí mismo es algo perfectamente seguro y razonable para funcionar por sí solo. Sin embargo, en el contexto, hay que estar muy atento: Al ejecutar primero este comando seguro y entonces ejecutando la aplicación que has descargado, estás permitiendo que un desarrollador de terceros ejecute su código en tu ordenador sin pasar por las comprobaciones de seguridad, que ya sabes que han fallado.

¿Es esto malicioso? Es imposible saberlo. El desarrollador puede ser un ingeniero de software totalmente sincero que tiene un inglés imperfecto y una aplicación con errores que está intentando depurar en colaboración contigo. O puede tratarse de un desarrollador sospechoso que está tratando de infiltrarse en tu empresa. Ninguno de nosotros puede responder a eso por ti aquí.

Un par de cosas que podrías hacer son:

  1. Pasa el ejecutable de la aplicación por un desensamblador y comprueba si puedes sacar alguna intención maliciosa (difícil de hacer con experiencia; imposible si no eres un desarrollador).
  2. Pide al desarrollador que trabaje contigo para depurar el fallo de lanzamiento porque no te sientes cómodo eliminando la aplicación de la cuarentena. Esto probablemente implicará proporcionar registros de lanzamiento específicos con el log (ver man log Pero también hay que saber que esto lo tiene que resolver el desarrollador).

0voto

aetheryl Puntos 11

Me he encontrado con esto cuando una pieza de software que estás usando es de una versión anterior de MacOS / ya no es compatible con la versión actual de MacOS (una X a través del software, afirma que está roto y recomienda que lo envíes a la basura), o cuando el código del desarrollador no ha sido firmado por Apple y descargado de Internet (la advertencia de descargado de Internet, un desarrollador de terceros con el código que no ha sido firmado por Apple; la única razón legítima sería que el desarrollador está decidiendo no pagar a Apple 99 dólares al año para ser un desarrollador, pero es un poco sospechoso de otra manera).

Aunque ambas cosas pueden ser inocuas, si el programa tiene un propósito legítimo, los pasos que te está dando para que el programa se ejecute saltándose algunas de estas indicaciones están fuera de la norma (en mi opinión).

El comando en cuestión evita estas advertencias desactivando la cuarentena por defecto de Apple de una aplicación con estos problemas.

Para mí, estas recomendaciones serán inocuas o nefastas, dependiendo de las intenciones del desarrollador. Lo único que informa es su reputación en general:

  • ¿Obtiene esto de la fuente oficial (o de confianza)?
  • ¿Está el software bien establecido y cuenta con una comunidad especializada que lo utiliza y que puede proporcionar información sobre el funcionamiento del software?

Si la respuesta es todavía a ambos, entonces probablemente esté bien. Sin embargo, lo que me parece sospechoso es por qué el desarrollador no actualiza su software, lo recompila para el sistema operativo más reciente y hace que su código sea firmado por Apple para evitar estas advertencias de la manera correcta.

Al menos no te pide que desactives Gatekeeper (system wide0 porque eso es algo que me parecería muy sospechoso.

Así que todo se reduce a un juicio individual de su parte, sin saber el nombre del paquete de software para ofrecer una opinión general. Pero puede valer la pena preguntar por qué no ha proporcionado una versión actualizada para evitar que el usuario final tenga que pasar por estos aros, si estas advertencias son realmente inocuas. Supongo que si es inocuo, es porque fue escrito usando una versión antigua de MacOS y no está dispuesto a pagar el dinero anual para ser un desarrollador de Apple y tener su código firmado en consecuencia.

Si no puedes obtener respuestas satisfactorias y asumiendo que este código no requiere de un administrador para ejecutarse, es ejecutar dicho software en una máquina virtual para analizar su uso (lo que protege tu ordenador), o si funciona en un usuario no-administrador (lo que puede no ser, ya que no puedes evitar estas advertencias sin privilegios de administrador) es crear una nueva cuenta de usuario normal/no-administrador para probar esto y entonces, en el peor de los casos, puedes simplemente eliminar la cuenta sin temor a que modifique o ensucie tus archivos del sistema. La cuenta de usuario estándar debería estar aislada, en su mayor parte.

Se recomienda realizar una copia de seguridad de sus archivos de antemano, si quiere ser abiertamente precavido, en el caso del ransomware.

0voto

Macintosh3D Puntos 11

1. Eliminará un componente innecesario de la aplicación.

2. Es seguro.

3. No es probable, pero puede ser.

Esta parte está un poco desordenada, lo siento. No estoy familiarizado con este comando pero en general, al estar familiarizado con la línea de comandos, he leído la página del manual y puedo decir que este comando no es malicioso. com.apple.quarantine solo te pregunta si quieres ejecutar esta aplicación. Si lo confirmas se eliminará sola. Básicamente, es el "Usted está abriendo la aplicación APPLICATION_NAME por primera vez. ¿Está seguro de que quiere abrir esta aplicación?"

You are opening the application APPLICATION_NAME for the first time. Are you sure you want to open this application?

Puede que ayude pero probablemente no lo haga pero no tiene ningún coste, no dañará tu ordenador.

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