Apa yang menyebabkan OS X menandai folder sebagai Dikarantina?

35

Saya memiliki folder di bawah ~/Sites, sebut saja Foo, dari mana saya membagikan situs-dalam-pengembangan Wordpress melalui Apache. Ini baik-baik saja bekerja, aku dipetakan foo.localke 127.0.0.1dalam file host saya dan mengakses situs dari sana di laptop saya.

Kemudian, saya mencoba mengakses situs dari iPhone saya. Saya dapat melihat indeks root ~/Sitesdari telepon dengan berselancar ke my-computers-hostname.local, tetapi tidak dapat mengakses situs Wordpress, karena telah diatur untuk percaya alamatnya foo.local, dan oleh karena itu telah memiliki hardcoded referensi ke URL itu dalam database-nya. Ketika saya mencoba mengubah pengaturan URL-nya my-computers-hostname.local, sesuatu yang sangat aneh terjadi: Saya menerima kesalahan otorisasi ketika mencoba menyimpan perubahan. Sejak saat itu, seluruh folder yang berisi situs Wordpress menghilang dari halaman indeks di foo.local/ my-computers-hostname.local, dan setiap upaya untuk mengaksesnya dengan URL bertemu dengan kesalahan 403 - Otorisasi Ditolak dari server web.

Daftar folder yang dimaksud di Terminal menunjukkan kepada saya bahwa com.apple.quarantineatribut diperluas telah diterapkan padanya dan ke semua file yang ada di dalamnya. Apa yang menyebabkan sistem operasi mengkarantina folder? Apakah itu percobaan akses dari komputer lain, atau ada hubungannya dengan konfigurasi Wordpress?

Dan J
sumber

Jawaban:

43

The com.apple.quarantineatribut diperluas mungkin tidak ada hubungannya dengan masalah yang Anda alami dengan Apache. Mereka adalah bagian dari fitur karantina file yang ditambahkan dalam 10.5 :

Karantina File adalah fitur baru di Leopard yang dirancang untuk melindungi pengguna dari serangan kuda trojan. Ini memungkinkan aplikasi yang mengunduh konten file dari Internet untuk menempatkan file dalam "karantina" untuk menunjukkan bahwa file tersebut mungkin berasal dari sumber yang tidak dapat dipercaya. Aplikasi mengkarantina file hanya dengan memberikan nilai ke satu atau lebih properti karantina yang menyimpan informasi tentang kapan dan dari mana file berasal.

Ketika Layanan Peluncuran API digunakan untuk membuka file yang dikarantina dan file tersebut tampaknya merupakan aplikasi, skrip, atau jenis file yang dapat dieksekusi lainnya, Layanan Peluncuran akan menampilkan peringatan untuk mengonfirmasi bahwa pengguna memahami bahwa file tersebut adalah jenis aplikasi.

The com.apple.quarantineatribut diperluas dapat ditambahkan ketika:

  • Anda mengunduh file dengan aplikasi yang sadar karantina, seperti Safari, Chrome, atau Transmission. Untuk beberapa aplikasi seperti Firefox, karantina terpaksa diaktifkan di /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist.
  • Anda mengekstrak arsip dengan aplikasi seperti Archive Utility atau OS X's taratau zip.
  • Anda membuat file dengan aplikasi yang telah LSFileQuarantineEnableddisetel ke true di Info.plist.

Atribut yang diperluas memiliki bidang untuk status karantina, cap waktu, agen yang memulai acara karantina, dan terkadang 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);

Bidang pertama adalah bitfield heksadesimal, di mana misalnya bit ketujuh (2 ^ 6 atau 0x40) biasanya akan ditetapkan setelah Anda membuka file untuk pertama kalinya.

Anda dapat menghapus atribut yang diperluas dengan xattr -dr com.apple.quarantine ~/Sites, tetapi itu mungkin tidak akan berpengaruh pada Apache. Namun itu akan menonaktifkan dialog "adalah file yang diunduh dari Internet".

Lri
sumber
"opsi -r tidak dikenali"
Jamie Ivanov
3
xattr -dr com.apple.quarantine <path>bekerja!
parasrish
Referensi untuk info terperinci: diskusi.apple.com/message/15507936#message15507936
parasrish
Fitur yang sangat menyebalkan, saya belum pernah menggunakannya. Terima kasih telah menjelaskan
cjohansson
1
xattr -dr com.apple.quarantine <path>memberi saya option -r not recognized, tetapi xattr -d com.apple.quarantine <path>berhasil!
saulspatz