¿Qué hace que OS X marque una carpeta como en cuarentena?

26

Tenía una carpeta en ~/Sites , llamémosla Foo , desde la cual estaba compartiendo un sitio en desarrollo de WordPress a través de Apache. Esto funcionaba bien, había asignado foo.local a 127.0.0.1 en mi archivo de hosts y estaba accediendo al sitio desde allí en mi computadora portátil.

Luego, intenté acceder al sitio desde mi iPhone. Pude ver el índice raíz de ~/Sites desde el teléfono al navegar a my-computers-hostname.local , pero no pude acceder al sitio de Wordpress, ya que se configuró para creer que su dirección era foo.local , y por lo tanto tenía un código Referencias a esa URL en su base de datos. Cuando intenté cambiar su configuración de URL a my-computers-hostname.local , sucedió algo muy extraño: recibí un error de autorización al intentar guardar el cambio. A partir de ese momento, toda la carpeta que contiene el sitio de Wordpress desapareció de la página de índice en foo.local / my-computers-hostname.local , y cualquier intento de acceder a él por URL se produjo con un error 403: Autorización rechazada del servidor web.

La lista de la carpeta en cuestión en el Terminal me mostró que el atributo extendido com.apple.quarantine se le había aplicado a ella y a todos los archivos que contiene. ¿Qué haría que el sistema operativo pusiera en cuarentena la carpeta? ¿Fue el intento de acceso desde otra máquina o algo relacionado con la configuración de Wordpress?

    
pregunta Dan J 09.10.2013 - 07:27

1 respuesta

35

Los atributos extendidos com.apple.quarantine probablemente no tienen nada que ver con los problemas que tiene con Apache. Son parte de la función de cuarentena de archivos que se agregó en 10.5 :

  

File Quarantine es una nueva característica de Leopard diseñada para proteger a los usuarios de ataques de troyanos. Permite que las aplicaciones que descargan contenido de archivos de Internet coloquen los archivos en "cuarentena" para indicar que el archivo podría provenir de una fuente no confiable. Una aplicación pone en cuarentena un archivo simplemente asignando valores a una o más propiedades de cuarentena que conservan información sobre cuándo y de dónde proviene el archivo.

     

Cuando la API de servicios de lanzamiento se usa para abrir un archivo en cuarentena y el archivo parece ser una aplicación, un script u otro tipo de archivo ejecutable, los servicios de lanzamiento mostrarán una alerta para confirmar que el usuario entiende que el archivo es algún tipo de aplicación .

Los atributos extendidos com.apple.quarantine se pueden agregar cuando:

  • Usted descarga un archivo con una aplicación que tiene en cuarentena, como Safari, Chrome o Transmisión. Para algunas aplicaciones como Firefox, la cuarentena está obligada a habilitarse en /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist .
  • Extraes un archivo con una aplicación como Archive Utility o tar o zip de OS X.
  • Crea un archivo con una aplicación que tiene LSFileQuarantineEnabled establecido en verdadero en el Info.plist .

Los atributos extendidos tienen campos para el estado de cuarentena, una marca de tiempo, el agente que originó el evento de cuarentena y, a veces, un UUID:

$ xattr -p com.apple.quarantine Worksheet_v10.4.pdf
0042;51ea420b;Safari.app;5E2F48EA-1356-4D57-BFEA-571EE8ADC08C
$ date -r 0x51ea420b
Sat Jul 20 10:53:47 EEST 2013
$ sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 .dump|grep 5E2F48EA-1356-4D57-BFEA-571EE8ADC08C
INSERT INTO "LSQuarantineEvent" VALUES('5E2F48EA-1356-4D57-BFEA-571EE8ADC08C',395999627.472166,'com.apple.Safari','Safari','http://images.apple.com/server/docs/Worksheet_v10.4.pdf',NULL,NULL,0,NULL,'http://images.apple.com/',NULL);

El primer campo es un campo de bits hexadecimal, donde, por ejemplo, el séptimo bit (2 ^ 6 o 0x40) generalmente se establece después de abrir un archivo por primera vez.

Puedes eliminar los atributos extendidos con xattr -dr com.apple.quarantine ~/Sites , pero probablemente no tendrá ningún efecto en Apache. Sin embargo, deshabilitará el cuadro de diálogo "es un archivo descargado de Internet".

    
respondido por el user495470 10.10.2013 - 17:22

Lea otras preguntas en las etiquetas