Ich habe das so oft akzeptiert, dass sich die Firewall daran erinnern sollte.
Zum Beispiel bekomme ich es für Eclipse, wenn ich meine Java-Programme im Debugging-Modus starte ... manchmal wird dieser Dialog nur sehr kurz angezeigt, etwa eine halbe Sekunde, und verschwindet. Ich bekomme es auch für iTunes (wenn ich die Freigabe meiner Bibliothek aktiviere) und andere Programme, obwohl ich sie im Bereich "Firewall-Einstellungen" (Adv. Einstellungen) aufgelistet habe.
macos
snow-leopard
firewall
Peter Štibraný
quelle
quelle
Antworten:
Hier gibt es zwei Möglichkeiten:
plist
Datei für diese Apps löschen , sie ausführen und sie dann der Liste hinzufügen. Die plist ist für viele Verhaltensweisen verantwortlich und ich bin bereit zu wetten, dass entweder ein Upgrade auf das Betriebssystem oder die App dazu führen kann, dass die "Verbindung" unterbrochen wird.Über
plist
Dateien ... ist ein plist eine besondere Art von Textdatei, die die Anwendung enthält Eigenschaften und andere Ressourcen, in der Regel das Betriebssystem, die Verwendung zu halten und Wiederverwendung erforderlichen Informationen , um die Anwendung auszuführen.plist
ist ein Dateityp, der viele Verwendungszwecke hat und in der Regel Benutzereinstellungen speichert. Im Wesentlichen handelt es sich jedoch um eine XML-Datei. Sie können nachsehen, obplist
für die betreffenden Anwendungen in/Library/Caches
und Caches vorhanden sind, bei denen es sich normalerweise um Dateien handelt/System/Library/Caches
. Es gibt auch eine in,~/Library/Caches/
aber schlechte Dinge können passieren, wenn man dort herumspielt, also lass es einfach in Ruhe. Das System durchsucht diese Ordner aus einer Vielzahl von Gründen. In der Regel werden die ersten beiden von mir aufgelisteten Ordner einmal im Monat vollständig gelöscht.quelle
~
Verweisen die s in den Dateipfaden oben auf den Basisordner des aktuellen Benutzers oder das Stammverzeichnis?Ich musste noch nie ein Zertifikat mit dieser Methode erstellen.
Wenn das nicht hilft, versuchen Sie es ohne
--deep
und ohne den abschließenden Schrägstrich:Hinweis, um es klarer zu machen: Nachdem Sie die Signatur angewendet haben, starten Sie die App, akzeptieren Sie die eingehenden Verbindungen ein letztes Mal, beenden Sie sie und starten Sie sie erneut, um sicherzustellen, dass die Anforderung nicht mehr vorliegt.
quelle
-
after--sign
bedeutet, dass "Ad-hoc-Signierung" verwendet wird. Es ist kein Zertifikat erforderlich, um diesen Befehl zu verwenden. Ich verstehe nicht, warum dies der Verwendung des Terminals widersprechen würde. Renneman codesign
, um die Erklärung zu sehen.sudo codesign --force --sign - /path/to/application.app
hat bei mir geklappt, aber nicht die vom autor vorgeschlagene variante. Ich frage mich, ob--deep
oder der führende Schrägstrich ein Problem war.Obwohl der Link von RedYeti nützlich ist, lassen Sie mich, um nur ein paar Klicks für andere zu speichern, noch einmal zusammenfassen, wie ein Code-Signier-Zertifikat erstellt und zum (erneuten) Signieren von Code verwendet wird:
Erstellen Sie Ihr eigenes Code Signing Zertifikat:
In Schlüsselbund, Schlüsselbund> Zertifikat-Assistent> Zertifikat erstellen. Dies startet den Certificate Assistant:
Name: Geben Sie hier eine beliebige Zeichenfolge ein, an die Sie sich erinnern können. Vermeiden Sie Leerzeichen, andernfalls müssen Sie den Namen des Zertifikats in der Befehlszeile maskieren
codesign
.Identitätstyp: Self Signed Root
Zertifikatstyp: Codesignatur
Aktivieren Sie das Kontrollkästchen "Standardeinstellungen überschreiben". Dies ist sehr wichtig
Seriennummer: 1 (OK, solange die Kombination aus Zertifikatsname / Seriennummer eindeutig ist)
Gültigkeitsdauer: 3650 (gibt Ihnen 10 Jahre)
E-Mail, Name usw. nach Belieben ausfüllen.
Schlüsselpaarinfo: Auf RSA, 2048 Bit eingestellt. Ist meiner Meinung nach nicht wirklich wichtig.
Von "Erweiterung der Schlüsselverwendung" bis "Erweiterung des alternativen Antragstellernamens": Übernehmen Sie die Standardeinstellungen.
Ort: Login-Schlüsselbund.
Sobald das Zertifikat erstellt wurde, setzen Sie es im Anmeldeschlüsselbund auf "Immer vertrauen": Klicken Sie mit der rechten Maustaste auf das Zertifikat, wählen Sie "Informationen abrufen" und setzen Sie im Abschnitt "Vertrauen" die Option "Bei Verwendung dieses Zertifikats" auf "Immer vertrauen".
App neu signieren:
codesign -f --deep -s <certname> /path/to/app
Stellen Sie sicher, dass es funktioniert hat:
codesign -dvvvv /path/to/app
Genießen!
quelle
Dies bezieht sich darauf, ob die App signiert ist oder nicht. Wenn es nicht signiert ist, wird die Voreinstellung nicht gespeichert.
So überprüfen Sie, ob eine App signiert ist:
Für Eclipse - meins sagt, dass es überhaupt nicht signiert ist. Ich kann mich nicht weiter dazu äußern, wie ich die App signieren soll, da ich mich nicht darum gekümmert habe, aber diese Antwort auf Superuser behandelt sie:
https://superuser.com/questions/100013/why-does-mac-os-x-firewall-dialog-recurringly-pop-up-and-disappear-by-itself#300841
quelle
Wenn Sie jedoch eine virtuelle Umgebung verwenden, müssen Sie die App signieren, die für die Umgebung verwendet wird. Ich weiß, dass dies offensichtlich ist, musste aber trotzdem gesagt werden.
quelle
Ich weiß zu schätzen, dass dies eine alte Frage und Antwort ist, aber es war für mich der erste Treffer auf Google, als ich das gleiche Problem hatte. Ich wollte nur etwas für andere hinzufügen, die hier landen könnten.
Um einen der hier beschriebenen Codesign-Befehle ausführen zu können, müssen die Befehlszeilentools von xcode installiert sein. Ohne diese bekommt man eine Fehlermeldung:
Um dies zu beheben, installieren Sie die Tools mit:
Ich hätte ahalls Post kommentiert, aber ich habe nicht die Reputationspunkte, um das zu tun.
quelle
Ich habe dieses Dialogfeld (Canon ccpd) jedes Mal, nachdem ich meinen Computer gestartet habe. Öffnen Sie die Firewall> Sicherheit und Datenschutz> Entsperren, um Änderungen zu aktivieren> klicken Sie auf die Schaltfläche "Stealth-Modus aktivieren"> klicken Sie auf die Schaltfläche "Alle eingehenden Verbindungen blockieren".
Kein irritierendes Dialogfeld des Canon-Druckertreibers mehr.
quelle
Ich habe das alles in Mac 10.13 ausprobiert und nichts hat funktioniert.
Am Ende habe ich ein Skript geschrieben, das beim Abmelden ausgeführt wurde und an einen Anmelde-Hook angehängt war, der die Firewall deaktiviert hat. Wenn ich mich also angemeldet habe, benötigte ich keine Berechtigung mehr. Dann habe ich mit delayedlauncher ein anderes Skript ausgeführt, das die Firewall aktiviert hat.
Alles gut jetzt
quelle
Meine Situation betrifft zwei Kopien von Eclipse, die unter MacOS Mojave 10.14.5 installiert sind. Die erste Kopie wurde mit der MacOS-Firewall autorisiert. Die zweite Kopie würde immer die Eingabeaufforderung "Eingehende Verbindungen akzeptieren" anzeigen. Wenn Sie "Akzeptieren" auswählen, wird die Meldung nach jedem Neustart weiterhin angezeigt, anscheinend wurde die Firewall-Einstellung nicht aktualisiert.
Die Lösung bestand darin, die MacOS-Systemeinstellungen -> Sicherheit und Datenschutz -> Firewall zu öffnen, den Bildschirm zu entsperren und die Firewall-Optionen aufzurufen. Wählen Sie Eclipse.app "Eingehende Verbindungen zulassen" und entfernen Sie diese mit der Schaltfläche "-". Das nächste Mal, wenn ich "Zulassen" für die Eingabeaufforderung "Eingehende Verbindungen akzeptieren" von Eclipse auswählte, war dies das letzte Mal.
quelle
Die Lösung für mich bestand darin, die Firewall komplett zu deaktivieren. Es ist äußerst verbreitet, webfähige Software-Teile zu erstellen, die natürlich nicht signiert sind, weil Sie sie nativ kompilieren.
Öffnen Sie den Scheinwerfer mit CMD + Leertaste und suchen Sie "Datenschutz" und wählen Sie "Sicherheit und Datenschutz". Wechseln Sie dann in die Registerkarte "Firewall" und deaktivieren Sie dort die Firewall.
quelle