为什么在 Snow Leopard 下 Mac OS X 防火墙对话框会反复弹出并自行消失(不让我响应)?

为什么在 Snow Leopard 下 Mac OS X 防火墙对话框会反复弹出并自行消失(不让我响应)?

时不时地,我会在我的 Macbook 上使用访问网络的程序——无论是 Firefox,还是索尼的 Reader Library——真的,它似乎就像它可能发生任何访问网络的程序 – 并且到目前为止我还没有发现什么原因(也就是说,这种情况间歇性地发生),OS X 防火墙对话框弹出来问我问题:

OS X 防火墙对话框:您是否希望应用程序“Reader Library.app”接受传入网络连接?单击“拒绝”可能会限制应用程序的行为。此设置可以在“安全”偏好设置的“防火墙”窗格中更改。拒绝允许

[OS X 防火墙对话框] 您是否希望应用程序“Reader Library.app”接受传入网络连接?单击“拒绝”可能会限制应用程序的行为。此设置可以在“安全”偏好设置的“防火墙”窗格中更改。[拒绝] [允许]

只是它实际上不允许我在它消失之前点击任何东西!那是:

  • 对话框弹出,...
  • 然后消失通过它自己一秒钟后,
  • 然后弹出再次,...
  • 然后一秒钟后自动消失,
  • ETC。

这种情况发生几次后才停止。如果我可以点击“允许“并让这该死的东西永远消失。

安全偏好设置我已经打开防火墙”“,并且我希望保持这种状态。

有谁见过这个问题、找到根源并找到解决方案或解决方法吗?


更新:我发现这些消息线程证实了这个问题:MacRumors.com - 防火墙应用程序例外:对话框奇怪地消失, 和Apple - 支持 - 讨论 - 烦人的防火墙允许/拒绝对话框。截至 2010 年 3 月 27 日,这两个链接仍未报告任何解决方案。

答案1

我在使用通过 rvm 安装的 ruby​​ 时遇到了这个问题。

这是非常有价值的,而且我认为是正确的方法。

https://web.archive.org/web/20160313182146/http://forums.macnn.com/79/developer-center/355720/how-re-sign-apples-applications-once

我重新签署了我的 rvm/ruby 二进制文件,一切正常。

相关部分:

您可以通过执行以下操作来检查签名信息:

codesign-dvvvv /路径/到/应用程序

然后通过 Keychains 应用程序创建用于代码签名的自签名证书(详情请参阅链接)。然后:

重新签署申请非常简单。

  1. 打开终端。
  2. 键入“codesign -f -s(证书名称)/path/to/application

答案2

有几个人提出了解决方案,但没有明确说明,因此这里是:

OS X 中的每个应用程序都应由开发人员签名。此签名可确保应用程序的内容未被更改。防火墙会在其进程中验证此签名。 当签名验证过程失败时,您将收到此允许/拒绝错误消息每次使用该程序时,即使您在对话框中单击了允许。

为什么签名验证失败?发生这种情况的原因有很多,但主要是因为您在某个地方更改了 /Applications/YourProblemApplication.app 容器的内容。例如,如果您使用单语或类似应用程序删除其他语言文件以节省磁盘空间,则您已修改应用程序的内容。如果您使用 CandyBar 或 IconDubber 等程序更改图标 (.icns) 文件,则您也更改了应用程序的内容。

解决此问题最简单的方法是删除产生此错误的 .app(务必清空回收站)。重新安装 .app,这次不要修改内容。

顺便说一句,整个签名过程可能会导致其他应用程序出现大量错误,尤其是像 VPN 这样注重安全的应用程序。例如,我的 Cisco Unified Personal Communicator 在运行 Monolingual 后停止工作(但只会在控制台日志中生成拒绝错误)。

答案3

症状
根据之前发布的 Apple 支持论坛链接,该弹窗仅针对某些应用显示。添加永久例外并不能解决该问题。提问者报告称,该弹窗出现在全部应用程序,尽管是间歇性的。

诊断
防火墙似乎无法正确识别应用程序,或无法在检测到应用程序后做出错误操作。有些人认为并非所有应用程序都会导致这种情况,这种想法进一步证实了这种观点。

测试 为了确定防火墙中哪个部分被破坏了,我们可以测试几种场景:

  • 一台完全干净的计算机,只安装了一些基本应用程序。这将保证系统范围的配置以及用户配置都是干净的。
  • 新用户。如果受影响的人可以创建新帐户,而防火墙不会在该帐户下失效,则该用户的配置无效,需要重建(即cp从新用户开始)。
    • 如果我们选择这个选项,我们还可以diff检查配置文件是否存在异常。
  • 禁用防火墙。这很可能可以解决问题。如果不能,我们就完蛋了。禁用和启用也可能解决问题,但我们需要测试是否确实如此。不过,我不知道为什么这样做会有效。

额外信息
有些人建议关闭防火墙,但报告问题的人似乎都没有这样做(或者他们没有报告),所以我们不知道这是否能解决问题。

答案4

我发现,如果我进入某个应用程序并调出打开或保存对话框,我可以等到“您是否要...”窗口弹出后立即按下该esc键。完成此操作后,该应用程序中不再出现问题,即使我退出并重新启动它也是如此。

相关内容