¿Qué causa que OS X marque una carpeta como Cuarentena?

35

Tenía una carpeta debajo ~/Sites, llamémosla Foo, desde la cual estaba compartiendo un sitio en desarrollo de Wordpress a través de Apache. Esta bien estaba trabajando, me había asignado foo.locala 127.0.0.1en mi archivo de hosts y estaba accediendo al sitio desde allí en mi ordenador portátil.

Luego, intenté acceder al sitio desde mi iPhone. Pude ver el índice raíz ~/Sitesdel teléfono navegando my-computers-hostname.local, pero no pude acceder al sitio de Wordpress, ya que estaba configurado para creer que era su dirección foo.localy, por lo tanto, tenía referencias codificadas 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, la carpeta completa 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 encontró con un error 403 - Autorización rechazada del servidor web.

Listado de la carpeta en cuestión en la Terminal me mostró que el com.apple.quarantineatributo extendido se había aplicado a él y a todos los archivos contenidos en él. ¿Qué causaría que el sistema operativo ponga en cuarentena la carpeta? ¿Fue el intento de acceso desde otra máquina, o algo relacionado con la configuración de Wordpress?

Dan J
fuente

Respuestas:

43

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

File Quarantine es una nueva característica en Leopard diseñada para proteger a los usuarios de los ataques de troyanos. Permite que las aplicaciones que descargan contenido de archivos de Internet coloquen 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 Launch Services se usa para abrir un archivo en cuarentena y el archivo parece ser una aplicación, script u otro tipo de archivo ejecutable, Launch Services mostrará una alerta para confirmar que el usuario entiende que el archivo es algún tipo de aplicación.

Los com.apple.quarantineatributos extendidos se pueden agregar cuando:

  • Descarga un archivo con una aplicación compatible con la cuarentena, como Safari, Chrome o Transmission. Para algunas aplicaciones como Firefox, la cuarentena se ve obligada a habilitarse /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist.
  • Extrae un archivo con una aplicación como Archive Utility o OS X's taro zip.
  • Crea un archivo con una aplicación que se ha LSFileQuarantineEnabledestablecido en verdadero en 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.

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

Lri
fuente
"opción -r no reconocida"
Jamie Ivanov
3
xattr -dr com.apple.quarantine <path>trabajos !
parasrish
Referencia para obtener información detallada: discussions.apple.com/message/15507936#message15507936
parasrish
Característica increíblemente molesta, nunca la he usado. Gracias por explicar
cjohansson
1
xattr -dr com.apple.quarantine <path>me dio option -r not recognized, pero xattr -d com.apple.quarantine <path>funcionó!
saulspatz