在安装应用程序期间或启动应用程序时向 Mac 上的防火墙添加例外

Posted

技术标签:

【中文标题】在安装应用程序期间或启动应用程序时向 Mac 上的防火墙添加例外【英文标题】:Add Exception to firewall on Mac either during installation of application or when application is launched 【发布时间】:2010-01-05 09:29:46 【问题描述】:

我有一个客户端 - 服务器应用程序,我想在其中向防火墙添加一个例外,以便我的应用程序可以正常通信。 我想向防火墙添加一个例外(不更改其他防火墙选项的设置)。

我正在使用 Carbon、Qt、C++。不过,我觉得这与一些安装时间设置有关。

【问题讨论】:

考虑在 superuser.com 上发帖。我不会要求将问题作为“属于 superuser.com”而关闭,但您更有机会在那里获得安装时间设置。 【参考方案1】:

在不通知用户或征求用户许可的情况下,我不确定这是否是一种好习惯。由于 osx 具有用于创建应用程序签名的内置系统,因此用户必须明确启用此级别的安全性。

话虽如此,你应该看看

/usr/libexec/ApplicationFirewall/socketfilterfw

/usr/libexec/ApplicationFirewall/com.apple.alf.plist

OS X 也使用 ipfw,我很确定它会取代应用程序过滤器设置的任何规则。所以你也可以制定一个 ipfw 规则。

【讨论】:

【参考方案2】:

在我看来,如果你打开一个套接字,你的 Mac 防火墙会自动让你有机会允许或拒绝连接....你试过了吗?

【讨论】:

抱歉,我认为这里遗漏了一个细节,它不应该是用户交互的。这一切都应该在后台发生。 我尝试了你的建议。我想将防火墙设置为始终允许传入连接 为什么不应该是用户交互的?您正在尝试更改系统的安全性。如果您的应用程序不是恶意的,那么为什么使用系统行为会出现问题? 是的,通常在进行连接尝试时会询问用户,然后用户可以允许一次、始终允许或拒绝。

以上是关于在安装应用程序期间或启动应用程序时向 Mac 上的防火墙添加例外的主要内容,如果未能解决你的问题,请参考以下文章

npm 安装期间 mac 10.5.8 上的 node-gyp 'pkg-config: command not found'

在 Mac 上的“终端”中使用 launchd 管理脚本

收到消息时向 iOS 推送通知不起作用

启动 Mac 上的应用程序

在 Mac 中启动多个应用程序实例

如何在PC或Mac上安装ISO文件