Wo werden die Metadaten "Woher" gespeichert, wenn sie über Chrome heruntergeladen werden?

9

Ich verwende Mavericks mit Chrome und wenn ich ein Bild / eine Datei herunterlade, speichert es das "Woher", wenn es über Get Info angezeigt wird. Dies geschieht auch in Safari.

Ich verstehe jetzt, dass es einen separaten Download-Verlauf gibt, der über die Tricks im folgenden Artikel angezeigt und gelöscht werden kann: http://www.cultofmac.com/179873/list-your-macs-entire-download-history-at -once-os-x-tips / Diese werden beim ersten Öffnen von Anwendungen verwendet, um dem Benutzer zu zeigen, woher sie stammen.

Ich habe dies jedoch gelöscht und bestätigt, dass es leer ist, aber es wird immer noch im Feld "Woher" angezeigt. Ich habe einige weitere Tests durchgeführt und das Bild hochgeladen, um die EXIF- und Metadaten anzuzeigen, aber es scheint überhaupt nicht in den Metadaten der Dateien gespeichert zu sein. Wo könnte es also aufbewahrt werden?

Weiß jemand, wie diese 'Woher' Metadaten gespeichert werden und wo sie gespeichert werden. Bleibt es in der Datei, wenn Sie die Datei auf das USB-Laufwerk legen und auf einem anderen Computer öffnen?

Ich mache mir nicht so viele Sorgen, es zu entfernen, aber ich kann einfach nicht sehen, woher es kommt?

Jamie Bicknell
quelle

Antworten:

16

Es wird in einem erweiterten Attribut in der Datei gespeichert. Speziell das com.apple.metadata:kMDItemWhereFromsAttribut. Es bleibt möglicherweise in der Datei, wenn Sie sie auf einen anderen Computer verschieben. Dies hängt jedoch vom verwendeten Dateisystem oder Dateifreigabeprotokoll ab. Wenn Sie es auf einen anderen Mac auf einer HFS + -Diskette verschieben, wird es wahrscheinlich beibehalten, aber nicht unbedingt, wenn Sie über das Netzwerk übertragen, und höchstwahrscheinlich nicht mit einer externen Festplatte mit einem Nicht-HFS + -Dateisystem.

Sie können eine Datei überprüfen, indem Sie sie xattr -lp com.apple.metadata:kMDItemWhereFroms myfileim Terminal ausführen oder mit entfernen xattr -d com.apple.metadata:kMDItemWhereFroms my file. ls -l@Flagge ist auch nützlich; Es werden die Namen von xattrs zusammen mit den üblichen ls-Informationen aufgelistet.

Wenn Sie es aus mehreren Dateien entfernen möchten, sehen Sie sich diese Frage an: Wie entferne ich xattr com.apple.quarantine aus allen .webarchive-Dateien mit diesem erweiterten Attribut?

Robmathers
quelle
Das ist eine sehr informative Antwort, danke. Würde ich zu Recht sagen, dass die Datei die Dateidaten enthält und es dann eine versteckte Shell-Datei gibt, der tatsächlich das xattr hinzugefügt wurde?
Jamie Bicknell
Nah dran, aber nicht genau. Es ähnelt eher Metadaten. Auf die gleiche Weise, wie eine Datei Inhalte enthält, die die tatsächlichen Daten, aber auch einen Namen, ein Erstellungsdatum usw. sind, können erweiterte Attribute angehängt werden.
Robmathers
@robmathers: Mist, du hast mich geschlagen. Außerdem habe ich die Option -l von xattr vergessen. Habe eine Gegenstimme.
Asmus
5

Heruntergeladenen Dateien werden erweiterte Attribute zugewiesen, z. B. com.apple.quarantineum ausführbare Dateien in Quarantäne zu stellen und com.apple.metadata:kMDItemWhereFromsfür die "Woher" -Daten. Das Vorhandensein dieser Attribute kann im Terminal über angezeigt werden ls -l@ /path/to/downloaded/file.

Um die tatsächlichen Daten in diesem kMDItemWhereFroms zu speichern, habe ich eine Lösung gefunden, die auf dieser Antwort basiert (die auch etwas mehr über die Konvertierungsmethode erklärt):

xattr -p com.apple.metadata:kMDItemWhereFroms /path/to/downloaded/file | sed -e 's/0D//g' -e 's/.*\(5F 10\)...//' -e 's/00.*//'| xxd -r -p | sed -e 's@ (.*@@g'

Dies gibt die URL zurück. Bitte beachten Sie, dass es in diesem Moment in einer relativ schwer lesbaren Form ist, da mein Kommandozeilen-Fu mich zu versagen scheint. Ich werde die Antwort aktualisieren, sobald ich die richtige seddafür gefunden habe.

Asmus
quelle
4
Von den ersten paar Bytes, "bplist", habe ich angenommen, dass es sich um eine binäre Plist handelt xattr -p com.apple.metadata:kMDItemWhereFroms "$file" | xxd -r -p | plutil -convert xml1 -o - -. Wenn Sie die URLs (die meisten Dateien scheinen zwei zu haben) selbst herausholen möchten, sollten Sie an dieser Stelle entweder ein allgemeines XML-Tool (wie xpath) oder ein plistenspezifisches Tool (can) verwenden. t dir da nicht helfen). (Getestet am 10.8.5.)
Aaron Davies
@ AaronDavies du bist richtig! Leider scheinen die Zeichenfolgen innerhalb des XML nicht in einer bestimmten Reihenfolge zu sein. Es ist schön zu sehen, dass dies auch bei E-Mail-Anhängen funktioniert.
Asmus