OS Xがフォルダーを検疫済みとしてマークする原因は何ですか?


35

~/Sitesにフォルダがあり、それを呼び出してみましょうFoo。そこから、Apache経由でWordpressの開発中サイトを共有していました。これは正常foo.localに機能127.0.0.1し、hostsファイルでマップし、ラップトップでそこからサイトにアクセスしていました。

次に、iPhoneからサイトにアクセスしようとしました。に~/Sitesサーフィンすることmy-computers-hostname.localで電話からのルートインデックスを見ることができましたが、Wordpressサイトにアクセスできませんでした。アドレスがfoo.localであると信じるように設定されていたため、データベースにそのURLへの参照がハードコードされていました。URL設定をに変更しようとするとmy-computers-hostname.local、非常に奇妙なことが起こりました。変更を保存しようとすると、認証エラーが発生しました。その時点から、Wordpressサイトを含むフォルダー全体がfoo.local/ のインデックスページから消え、my-computers-hostname.localURLでアクセスしようとすると、Webサーバーからの403-Authorization Refusedエラーが発生しました。

ターミナルで問題のフォルダーをリストすると、com.apple.quarantine拡張属性がそのフォルダーとその中に含まれるすべてのファイルに適用されていることがわかりました。オペレーティングシステムがフォルダーを隔離する原因は何ですか?別のマシンからアクセスしようとしたのか、それともWordpressの設定と関係があるのでしょうか?

回答:


43

com.apple.quarantine拡張属性は、おそらくあなたは、Apacheを持っている問題とは何の関係もありません。これらは、10.5で追加されファイル検疫機能の一部です。

ファイル検疫は、トロイの木馬攻撃からユーザーを保護するために設計されたLeopardの新機能です。インターネットからファイルコンテンツをダウンロードするアプリケーションは、ファイルを「検疫」に配置して、ファイルが信頼できないソースからのものである可能性があることを示すことができます。アプリケーションは、ファイルがいつどこから来たかについての情報を保持する1つ以上の隔離プロパティに値を割り当てるだけで、ファイルを隔離します。

Launch Services APIを使用して検疫されたファイルを開き、ファイルがアプリケーション、スクリプト、またはその他の実行可能ファイルタイプのように見える場合、Launch Servicesは、ファイルが何らかのアプリケーションであることをユーザーが理解していることを確認するアラートを表示します。

com.apple.quarantine拡張属性は、時に追加することができます。

  • Safari、Chrome、Transmissionなどの検疫対応アプリケーションでファイルをダウンロードします。Firefoxのようないくつかのアプリケーションでは、隔離はで強制的に有効にされ/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plistます。
  • あなたはアーカイブユーティリティまたはOS Xのようなアプリケーションでアーカイブを展開しtarたりzip
  • LSFileQuarantineEnabledtrueに設定されたアプリケーションでファイルを作成しますInfo.plist

拡張属性には、隔離ステータス、タイムスタンプ、隔離イベントを発信したエージェント、および場合によっては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);

最初のフィールドは16進数のビットフィールドです。たとえば、通常、ファイルを初めて開いた後、通常7番目のビット(2 ^ 6または0x40)が設定されます。

拡張属性はで削除できますがxattr -dr com.apple.quarantine ~/Sites、Apacheにはおそらく影響しません。ただし、「インターネットからダウンロードしたファイルです」ダイアログは無効になります。


「オプション-rが認識されない」
ジェイミーイワノフ

3
xattr -dr com.apple.quarantine <path>動作します!
パラスリッシュ


信じられないほど迷惑な機能、私はそれを使用したことがない。説明していただきありがとうございます
-cjohansson

1
xattr -dr com.apple.quarantine <path>option -r not recognizedに与えたが、xattr -d com.apple.quarantine <path>働いた!
saulspatz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.