如何在 Mac OS X 上通过命令行启用防火墙?

如何在 Mac OS X 上通过命令行启用防火墙?

我可以使用“安全和隐私”首选项窗格来启用和禁用防火墙,但是如何使用命令行来做到这一点 - 也许可以defaults write

图片.png

答案1

通过以下方式启用应用程序防火墙

defaults write /Library/Preferences/com.apple.alf globalstate -int 1

(0 表示禁用),然后重新启动服务

launchctl unload /System/Library/LaunchAgents/com.apple.alf.useragent.plist
launchctl unload /System/Library/LaunchDaemons/com.apple.alf.agent.plist

launchctl load /System/Library/LaunchDaemons/com.apple.alf.agent.plist
launchctl load /System/Library/LaunchAgents/com.apple.alf.useragent.plist

应用程序防火墙可以通过/usr/libexec/ApplicationFirewall/socketfilterfw二进制文件进行控制。

这里了解更多信息。

请注意,应用程序防火墙与 BSD 数据包过滤器完全不同,可以使用ipfw命令行实用程序。

答案2

使用 MacOS Mojave,您可以通过以下方式启用 MacOS 应用程序防火墙:

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on

有关更多信息,请查看 socketfilterfw 手册页或:

/usr/libexec/ApplicationFirewall/socketfilterfw -h(求助)

我不需要卸载或加载守护进程(com.apple.alf)

使用socketfilterfw修改 plist/Library/Preferences/com.apple.alf.plist设置globalstate至 1(开启)。

相关内容