Was veranlasst OS X, einen Ordner als unter Quarantäne zu stellen?

35

Ich hatte einen Ordner unter ~/Sites, nennen wir es Foo, aus dem ich eine Wordpress-Site-in-Entwicklung über Apache freigab. Dies funktionierte einwandfrei, ich hatte foo.locales 127.0.0.1in meiner Hosts-Datei abgebildet und von dort über meinen Laptop auf die Site zugegriffen.

Dann habe ich versucht, von meinem iPhone auf die Website zuzugreifen. Ich konnte den Root-Index des ~/SitesTelefons durch Surfen zu sehen my-computers-hostname.local, konnte jedoch nicht auf die Wordpress-Site zugreifen, da diese so eingerichtet war, dass sie der Ansicht war foo.local, dass es sich um eine Adresse handelt , und daher Verweise auf diese URL in der Datenbank fest codiert hatte. Beim Versuch, die URL-Einstellung auf zu ändern my-computers-hostname.local, ist etwas sehr Seltsames passiert: Beim Versuch, die Änderung zu speichern, ist ein Autorisierungsfehler aufgetreten. Von diesem Zeitpunkt an verschwand der gesamte Ordner mit der Wordpress-Site von der Indexseite unter foo.local/ my-computers-hostname.local, und alle Versuche, über die URL darauf zuzugreifen, wurden vom Webserver mit einem Fehler 403 - Autorisierung abgelehnt beantwortet.

Das Auflisten des betreffenden Ordners im Terminal zeigte mir, dass das com.apple.quarantineerweiterte Attribut auf ihn und alle darin enthaltenen Dateien angewendet wurde. Was würde das Betriebssystem veranlassen, den Ordner in Quarantäne zu stellen? War es der versuchte Zugriff von einem anderen Computer oder etwas, das mit der Konfiguration von Wordpress zu tun hat?

Dan J
quelle

Antworten:

43

Die com.apple.quarantineerweiterten Attribute haben wahrscheinlich nichts mit den Problemen zu tun, die Sie mit Apache haben. Sie sind Teil der Datei-Quarantäne-Funktion, die in 10.5 hinzugefügt wurde :

Die Datei-Quarantäne ist eine neue Funktion in Leopard, die Benutzer vor Trojaner-Angriffen schützt. Es ermöglicht Anwendungen, die Dateiinhalte aus dem Internet herunterladen, Dateien in „Quarantäne“ zu stellen, um anzuzeigen, dass die Datei aus einer nicht vertrauenswürdigen Quelle stammen könnte. Eine Anwendung isoliert eine Datei in die Quarantäne, indem sie einer oder mehreren Quarantäneeigenschaften Werte zuweist, die Informationen darüber speichern, wann und woher die Datei stammt.

Wenn die Launch Services-API zum Öffnen einer unter Quarantäne gestellten Datei verwendet wird und die Datei als Anwendung, Skript oder anderer ausführbarer Dateityp erscheint, zeigt Launch Services eine Warnmeldung an, um zu bestätigen, dass der Benutzer die Datei als eine Art Anwendung versteht.

Die com.apple.quarantineerweiterten Attribute können hinzugefügt werden, wenn:

  • Sie laden eine Datei mit einer Quarantäne-fähigen Anwendung wie Safari, Chrome oder Transmission herunter. Für einige Anwendungen wie Firefox muss die Quarantäne in aktiviert werden /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist.
  • Sie extrahieren ein Archiv mit einer Anwendung wie Archive Utility oder OS X taroder zip.
  • Sie erstellen eine Datei mit einer Anwendung, die LSFileQuarantineEnabledin der auf true gesetzt wurde Info.plist.

Die erweiterten Attribute enthalten Felder für den Quarantänestatus, einen Zeitstempel, den Agenten, der das Quarantäneereignis ausgelöst hat, und manchmal eine 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);

Das erste Feld ist ein hexadezimales Bitfeld, in dem beispielsweise das siebte Bit (2 ^ 6 oder 0x40) normalerweise gesetzt wird, nachdem Sie eine Datei zum ersten Mal geöffnet haben.

Sie können die erweiterten Attribute mit löschen xattr -dr com.apple.quarantine ~/Sites, dies hat jedoch wahrscheinlich keine Auswirkungen auf Apache. Die Dialogfelder "Ist eine Datei, die aus dem Internet heruntergeladen wurde" werden deaktiviert.

Lri
quelle
"Option -r nicht erkannt"
Jamie Ivanov
3
xattr -dr com.apple.quarantine <path>funktioniert!
Parasrish
Hinweis für detaillierte Informationen: discussion.apple.com/message/15507936#message15507936
parasrish
Unglaublich nerviges Feature, ich habe es nie benutzt. Vielen Dank für die Erklärung
cjohansson
1
xattr -dr com.apple.quarantine <path>hat mir option -r not recognizedaber xattr -d com.apple.quarantine <path>geklappt!
Saulspatz