Che cosa fa OS X a contrassegnare una cartella come in quarantena?

27

Ho avuto una cartella sotto ~/Sites , chiamiamola Foo , da cui stavo condividendo un sito Wordpress in via di sviluppo tramite Apache. Funzionava bene, avevo mappato foo.local a 127.0.0.1 nel mio file hosts e stavo accedendo al sito da lì sul mio laptop.

Poi, ho provato ad accedere al sito dal mio iPhone. Sono stato in grado di vedere l'indice root di ~/Sites dal telefono navigando su my-computers-hostname.local , ma non potevo accedere al sito Wordpress, poiché era stato impostato per credere che il suo indirizzo fosse foo.local , e quindi aveva hardcoded riferimenti a quell'URL nel suo database. Quando ho tentato di modificare l'impostazione dell'URL su my-computers-hostname.local , è accaduto qualcosa di molto strano: ho ricevuto un errore di autorizzazione durante il tentativo di salvare la modifica. Da quel momento in avanti, l'intera cartella contenente il sito Wordpress è scomparso dalla pagina indice a foo.local / my-computers-hostname.local , e ogni tentativo di accedervi per URL è stato risolto con un errore 403 - Autorizzazione rifiutata dal server web.

L'elenco della cartella in questione nel Terminale mi ha mostrato che l'attributo esteso com.apple.quarantine era stato applicato a esso e a tutti i file contenuti all'interno. Cosa potrebbe causare la messa in quarantena della cartella del sistema operativo? È stato tentato l'accesso da un'altra macchina o qualcosa a che fare con la configurazione di Wordpress?

    
posta Dan J 09.10.2013 - 07:27
fonte

1 risposta

36

Gli attributi estesi com.apple.quarantine probabilmente non hanno nulla a che fare con i problemi che stai avendo con Apache. Fanno parte della funzione di quarantena dei file che è stata aggiunta in 10.5 :

File Quarantine is a new feature in Leopard designed to protect users from trojan horse attacks. It allows applications which download file content from the Internet to place files in “quarantine” to indicate that the file could be from an untrustworthy source. An application quarantines a file simply by assigning values to one or more quarantine properties which preserve information about when and where the file come from.

When the Launch Services API is used to open a quarantined file and the file appears to be an application, script, or other executable file type, Launch Services will display an alert to confirm the user understands the file is some kind of application.

Gli attributi estesi com.apple.quarantine possono essere aggiunti quando:

  • Si scarica un file con un'applicazione in grado di riconoscere la quarantena, ad esempio Safari, Chrome o Trasmissione. Per alcune applicazioni come Firefox, la quarantena deve essere abilitata in /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist .
  • Estrai un archivio con un'applicazione come Archive Utility o OS X's tar o zip .
  • Crei un file con un'applicazione che ha LSFileQuarantineEnabled impostato su true in Info.plist .

Gli attributi estesi hanno campi per lo stato di quarantena, un timestamp, l'agente che ha originato l'evento di quarantena e talvolta 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);

Il primo campo è un campo bit esadecimale, dove ad esempio il settimo bit (2 ^ 6 o 0x40) viene solitamente impostato dopo aver aperto un file per la prima volta.

Puoi eliminare gli attributi estesi con xattr -dr com.apple.quarantine ~/Sites , ma probabilmente non avrà alcun effetto su Apache. Tuttavia disabiliterà le finestre di dialogo "è un file scaricato da Internet".

    
risposta data 10.10.2013 - 17:22
fonte

Leggi altre domande sui tag