Cosa fa sì che OS X contrassegni una cartella come in quarantena?


35

Avevo una cartella sotto ~/Sites, chiamiamola Foo, da cui condividevo un sito in sviluppo Wordpress tramite Apache. Questo raffinato stava lavorando, mi aveva mappato foo.locala 127.0.0.1nel mio file hosts e stava accedendo al sito da lì sul mio portatile.

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

Elencare la cartella in questione nel Terminale mi ha mostrato che l' com.apple.quarantineattributo esteso era stato applicato ad esso e a tutti i file contenuti all'interno. Cosa causerebbe la quarantena della cartella nel sistema operativo? È stato il tentativo di accesso da un'altra macchina o qualcosa a che fare con la configurazione di Wordpress?

Risposte:


43

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

File Quarantine è una nuova funzionalità di Leopard progettata per proteggere gli utenti dagli attacchi dei cavalli di Troia. Consente alle applicazioni che scaricano contenuto di file da Internet di posizionare i file in "quarantena" per indicare che il file potrebbe provenire da una fonte inaffidabile. Un'applicazione mette in quarantena un file semplicemente assegnando valori a una o più proprietà di quarantena che conservano le informazioni su quando e da dove proviene il file.

Quando l'API Launch Services viene utilizzata per aprire un file in quarantena e il file sembra essere un'applicazione, uno script o un altro tipo di file eseguibile, Launch Services visualizzerà un avviso per confermare che l'utente comprende che il file è un tipo di applicazione.

Gli com.apple.quarantineattributi estesi possono essere aggiunti quando:

  • Scarica un file con un'applicazione in quarantena, come Safari, Chrome o Transmission. Per alcune applicazioni come Firefox, è necessario abilitare la quarantena in /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist.
  • Estrarre un archivio con un'applicazione come Archive Utility o OS X taro zip.
  • Si crea un file con un'applicazione LSFileQuarantineEnabledimpostata 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 bitfield esadecimale, dove ad esempio il settimo bit (2 ^ 6 o 0x40) viene in genere impostato dopo l'apertura di 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. Disabiliterà comunque le finestre di dialogo "è un file scaricato da Internet".


"opzione -r non riconosciuta"
Jamie Ivanov il

3
xattr -dr com.apple.quarantine <path>lavori !
Parassita

Riferimento per informazioni dettagliate: dibattiti.apple.com/it/message/15507936#message15507936
parasrish

Funzionalità incredibilmente fastidiosa, non ne ho mai fatto uso. Grazie per aver spiegato
cjohansson il

1
xattr -dr com.apple.quarantine <path>mi ha dato option -r not recognized, ma ha xattr -d com.apple.quarantine <path>funzionato!
saulspatz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.