如何阻止我的 Mac 要求接受传入的网络连接?

Chr*_*ris 19 mac firewall connection macos

我正在使用Syncthing,这是一个在两台或多台计算机之间同步文件的应用程序。我相信需要允许Syncthing(在 github 上接受传入的网络连接才能正常工作。

Mac OS X 有一个内置防火墙,它不断询问我是否允许同步以弹出窗口的形式接受传入的网络连接。通常,对于一个应用程序,这只会被询问一次,但出于某种原因,这个弹出窗口每天至少出现 4 次。

这可能与自动更新功能有关,该功能会导致不时出现新的二进制文件(类似于 Google Chrome 的功能)。但是,与我收到的弹出窗口数量相比,此应用程序的更新频率要低得多。

知道我可以做些什么来让 Mac OS X 停止针对特定应用程序问我这个问题,还是没有办法解决它?

如果还有一个默认选择,以防我离开机器,那就太好了。知道如何实现这一点 -无需关闭防火墙?

Arj*_*jan 13

这可能是由丢失或错误的数字签名引起的。就像苹果解释的那样

如果您运行未在防火墙列表中列出的未签名应用程序,则会出现一个对话框,其中包含允许或拒绝应用程序连接的选项。如果您选择“允许”,OS X 会对应用程序进行签名并自动将其添加到防火墙列表中。

[...]

某些应用程序在不使用代码签名的情况下打开时会检查自己的完整性。如果防火墙识别出这样的应用程序,它就不会对其进行签名。相反,每次打开应用程序时都会出现“允许或拒绝”对话框。这可以通过升级到由其开发人员签名的应用程序版本来避免。

如果应用程序签名,则每次也可能会显示此对话框,但应用程序本身的签名已损坏,甚至对于 iTunes 也是如此

您可以通过在终端中运行以下命令来检查签名(我在这里不确定您的应用程序名称):

codesign --verify -vv /Applications/Syncthing.app/
Run Code Online (Sandbox Code Playgroud)

或者,也许可以在防火墙设置中删除应用程序,然后再接受一次是否足以阻止 OS X 提示您?或者可能通过这些设置显式添加它?

至于默认设置:确保启用“自动允许签名软件接收传入连接”选项:


小智 5

此说明永久禁用此烦人的弹出窗口,该解决方案适用于所有缺少或具有错误数字签名的应用程序。

简而言之:

sudo codesign --force --deep --sign - path-to-the-app.app
Run Code Online (Sandbox Code Playgroud)

  • 签署应用程序似乎是使此弹出窗口在没有签名的应用程序中消失的好方法。但是,上面的命令似乎对我不起作用。我从未签署过应用程序。是否有一些要先生成的密钥?或配置设置?我通常会收到```错误:在钥匙串中找不到指定的项目```。 (2认同)