Was soll ich mit com.apple.quarantine tun?

57134
Jason S

Ich habe einige .jarDateien aus dem Internet heruntergeladen und möchte sie unter Mac OS X verwenden. Das Betriebssystem scheint sie jedoch mit dem erweiterten Attribut com.apple.quarantine markiert zu haben (kein Hinweis darauf, bis ich das " @" in ls -lund bemerkt habe herausgefunden, wie man sie benutzt ls -l@- offensichtlich, weil sie aus dem Internet heruntergeladen wurden. Was ist der richtige Weg, um damit umzugehen?

84

5 Antworten auf die Frage

75
Arjan

Sie müssen sich nicht damit befassen. Öffnen Sie es und OS X fragt Sie nach Ihrer Erlaubnis. Oder wie von Richard vorgeschlagen, löschen Sie es mit etwas wie:

xattr -d com.apple.quarantine my_jar.jar 

Um dies automatisch für jede heruntergeladene Datei zu tun, können Sie eine Ordneraktion an den Downloadordner anhängen, wie auf macosxhints.com in 10.5 beschrieben: Entfernen Sie das Warnflag "Heruntergeladene Datei" .

Und die folgende wurde vor langer Zeit auf macosxhints.com geschrieben, für Safari: 10.5: Deaktivieren Sie die ‚heruntergeladen aus dem Internet‘ Datei Warnung und behauptet, ein entfernen VerifiedDownloadPlugin.pluginaus /Library/Internet Plug-Ins. Ich habe das nicht getestet.

Nebenbei: Manchmal muss man ein einzelnes Programm mehrmals auf einem Mac starten. Das kann mit cd /Applications/some-application/gefolgt von getan werden open -n "Application Name.app". Das braucht wirklich das .appSuffix; Beim Laufen open -n "Application Name"erhält GateKeeper möglicherweise einen Zugriff:

"Anwendungsname" kann nicht geöffnet werden, da er von einem nicht identifizierten Entwickler stammt.

Ihre Sicherheitseinstellungen ermöglichen die Installation nur von Apps aus dem Mac App Store und von identifizierten Entwicklern.

Selbst das Entfernen des erweiterten Attributs com.apple.quarantinebehebt das nicht, aber die Verwendung des .appSuffix funktioniert einwandfrei.

(Ich rate niemandem, die Sicherheitsmaßnahmen tatsächlich zu beseitigen.)

Ich habe eine Reihe von Dateien wie diese und musste das xattr manuell entfernen, da OS X nicht um Erlaubnis gefragt hat ... Brian Knoblauch vor 6 Jahren 0
@ Brian, und klicken Sie mit der rechten Maustaste, Öffnen Sie auch nicht? (Dies ist manchmal hilfreich, wenn OS X eine Aufforderung ausgibt, die Option zum Fortfahren jedoch nicht angezeigt wird.) Arjan vor 6 Jahren 0
Vielen Dank für die xattr-Beschwörungsformel. Weniger Mühe als herauszufinden, wie ein unangemessener Dialog (IMO) in einem Rahmen ausgelöst wird. Sue Spence vor 5 Jahren 0
58
mark4o

Dieses Attribut wird hinzugefügt, damit es bei der ersten Ausführung des heruntergeladenen Programms zur Bestätigung des Benutzers aufgefordert werden kann, um Malware zu stoppen. Nach der Bestätigung sollte das Attribut automatisch entfernt werden und das Programm wird normal ausgeführt.

Ahhhhhh .... ok das macht Sinn. Es handelt sich also um einen Vertrag zwischen Browserimplementierungen, die Dateien speichern, und dem Betriebssystem und / oder Java, wenn ausführbare Dateien ausgeführt werden. Jason S vor 14 Jahren 0
19
Richard Hoskins
 xattr -d com.apple.quarantine /path/to/file 
Verwenden Sie nicht "Sudo", wenn Sie nicht müssen. s4y vor 14 Jahren 1
Die Antwort wurde bearbeitet, um 'sudo' zu entfernen. Richard Hoskins vor 14 Jahren 0
Wie machen Sie das rekursiv für alle Dateien in einem Verzeichnis? Landon Kuhn vor 12 Jahren 0
@ landon9720 - Die (derzeit) [Antwort unten] (http://superuser.com/questions/28384/#126227) hat einen [Kommentar] (http://superuser.com/questions/28384/what-should-i -do-about-com-apple-quarantine # comment565539_126227), mit der Sie xattr anweisen können, den Inhalt eines angegebenen Verzeichnisses rekursiv zu bearbeiten user66001 vor 10 Jahren 0
`find / path / to / dir -exec xattr -d com.apple.quarantine {} \;` sepehr vor 8 Jahren 1
4
user495470

Sie können die Warnungen dauerhaft mit deaktivieren defaults write com.apple.LaunchServices LSQuarantine -bool false. Außerdem werden die Gatekeeper-Dialogfelder deaktiviert, auch wenn Sie nicht zugelassen haben, dass Anwendungen in den Systemeinstellungen heruntergeladen wurden.

1
slhck

Ich habe den folgenden Befehl gefunden

find Application.app | while read l; do echo $l; xattr -d com.apple.quarantine "$l"; done 

sehr hilfreich beim Versuch, das Attribut loszuwerden. Beachten Sie die doppelten Anführungszeichen. $lSie benötigen diese, wenn Ihr Apps-Ordner Dateien enthält, deren Namen leer ist.

Sie können auch `xattr -rd com.apple.quarantine Application.app` verwenden. user495470 vor 11 Jahren 9
Sie brauchen nicht die while ... Schleife. find kann alles: "find Application.app -print -exec xattr -d com.apple.quarantine {} \;" rivimey vor 8 Jahren 4
"Option -r nicht erkannt" Jamie Ivanov vor 7 Jahren 0
Sie müssen für jede Datei keinen neuen Prozess erzeugen, und Sie müssen das Xattribute nicht aus der Datei entfernen, wenn es nicht an erster Stelle steht: `find. -xattrname com.apple.quarantine -print0 | xargs -0 xattr -d com.apple.quarantine` dland vor 7 Jahren 0