OS X'in bir klasörü Karantinaya Al olarak işaretlemesine neden olan nedir?


35

Altında bir klasör vardı ~/Sites, hadi buna FooApache üzerinden bir Wordpress geliştirme sitesi paylaştığım diyelim . Bu çalışıyordu pekala, onu eşleştirilmiş etmişti foo.localiçin 127.0.0.1benim ana dosyasında ve benim laptop oradan siteye erişim edildi.

Sonra siteme iPhone'umdan erişmeye çalıştım. ~/SitesTelefonun kök dizinini gezinerek my-computers-hostname.localgörebildim, ancak adresinin olduğuna inandığı şekilde ayarlandığı için Wordpress sitesine erişemiyordum foo.localve bu nedenle veritabanında bu URL'ye kodlanmış referanslar vardı. URL ayarını değiştirmeye çalıştığımda my-computers-hostname.localçok garip bir şey oldu: Değişikliği kaydetmeye çalışırken bir yetkilendirme hatası aldım. Bu noktadan itibaren, Wordpress sitesini içeren klasörün tamamı foo.local/ adresindeki dizin sayfasından kayboldu my-computers-hostname.localve URL'ye erişme girişimleri web sunucusundan bir 403 - Yetkilendirme Reddedildi hatasıyla karşılandı.

Söz konusu klasörü Terminalde listelemek, com.apple.quarantinegenişletilmiş özniteliğin kendisine ve içindeki tüm dosyalara uygulandığını gösterdi . İşletim sisteminin klasörü karantinaya almasına ne sebep olur? Başka bir makineden erişim girişimi mi, yoksa Wordpress'in yapılandırmasıyla ilgili bir şey mi?

Yanıtlar:


43

com.apple.quarantineUzatılmış öznitelikler muhtemelen Apache ile yaşadığınız sorunları ile hiçbir ilgisi yoktur. 10.5'te eklenen dosya karantina özelliğinin bir parçasıdır :

Dosya Karantinası, kullanıcıları truva atı saldırılarına karşı korumak için tasarlanmış Leopard'daki yeni bir özelliktir. Dosya içeriğini İnternet'ten indiren uygulamaların, dosyanın güvenilmez bir kaynaktan gelebileceğini belirtmek için “karantinaya” yerleştirmelerini sağlar. Bir uygulama, dosyayı ne zaman ve nereden geldiği ile ilgili bilgileri koruyan bir veya daha fazla karantina özelliğine değer atayarak bir dosyayı karantinaya alır.

Başlatma Hizmetleri API'si karantinaya alınmış bir dosyayı açmak için kullanıldığında ve dosya bir uygulama, komut dosyası veya başka bir yürütülebilir dosya türü gibi göründüğünde Başlatma Hizmetleri, kullanıcının dosyanın bir tür uygulama olduğunu anladığını doğrulamak için bir uyarı görüntüler.

com.apple.quarantineUzatılmış öznitelikler zaman eklenebilir:

  • Safari, Chrome veya İletim gibi karantinaya duyarlı bir uygulamaya sahip bir dosya indirirsiniz. Firefox gibi birkaç uygulama için karantina devreye alınmaya zorlanır /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist.
  • Sen Arşiv Utility veya OS X adlı gibi bir uygulama ile bir arşiv ayıklamak tarya zip.
  • İçinde LSFileQuarantineEnabledtrue olarak ayarlanmış bir uygulamayla dosya oluşturursunuz Info.plist.

Genişletilmiş öznitelikler karantina durumu, bir zaman damgası, karantina olayını başlatan aracı ve bazen bir UUID için alanlar içerir:

$ 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);

İlk alan bir onaltılık bit alanıdır; örneğin, yedinci bit (2 ^ 6 veya 0x40) genellikle bir dosyayı ilk kez açtıktan sonra ayarlanır.

Genişletilmiş öznitelikleri ile silebilirsiniz xattr -dr com.apple.quarantine ~/Sites, ancak Apache üzerinde herhangi bir etkisi olmaz. Ancak "İnternetten indirilen bir dosyadır" iletişim kutularını devre dışı bırakacaktır.


"seçenek -r tanınmadı"
Jamie Ivanov

3
xattr -dr com.apple.quarantine <path>Eserleri !
parasrish


İnanılmaz derecede sinir bozucu özellik, hiç kullanmadım.
Açıkladığınız

1
xattr -dr com.apple.quarantine <path>verdi option -r not recognized, ama xattr -d com.apple.quarantine <path>çalıştı!
saulspatz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.