运行python时如何永久接受OSX防火墙允许/拒绝确认?

时间:2013-04-10 21:31:17

标签: python macos osx-mountain-lion firewall

概述

我在OSX Mt Lion上使用python中的龙卷风web服务器。每次启动龙卷风服务器时,我都会弹出一个弹出窗口,并且必须允许/拒绝对应用程序的传入访问。

我在系统偏好设置中列出了python二进制文件 - >安全与安全隐私 - >防火墙“允许传入连接”......但我每次都会得到弹出窗口。

我在网上发现了一个参考,表明某些应用可以“检查自己是否已签名”。这可能是问题,因此忽略它被列为?

我确认了:

codesign -vvv <path to python binary>

确实产生了:

<path to python binary>: invalid signature (code or signature have been modified)
In architecture: x86_64

这个特殊的二进制文件与自制程序一起安装,带有--framework标志(wxpython需要)。

问题

  1. 为什么忽略防火墙列表中二进制应用程序的手动输入?

  2. 是否有一种简单的方法可以自行签署二进制文件,以便我可以单击“自动允许已签名的应用程序”并允许它不显示弹出窗口?

2 个答案:

答案 0 :(得分:13)

(基于礼貌'回答 - 感谢有礼貌)

codesign -f -s - /path/to/Python.app

为我工作(Lion最后一次只询问过一次)。 -s -表示临时签名 - 根本不需要证书。

答案 1 :(得分:1)

您可以使用codesign -s和您的有效证书手动为应用签名。我沿着以下行使用了iPhone Developer证书和终端命令:

codesign -f -s "iPhone Developer: YourName"  "Tornado.app"

使用自动鼠标点击的可能解决方法:

  1. 下载CLIclick。 (谢谢Carsten。)
  2. 将其放在合适的位置,例如/usr/local/bin
  3. 使用 4 获取Allow按钮的屏幕坐标。 (在我的例子中,这些是x:750,y:600。)
  4. 使用此内容创建脚本(w:是等待时间,以毫秒为单位):

    /usr/local/bin/cliclick c:750,600 w:1500 m:+0,+0 c:.
    

    (我无法让CLIclick在没有“移动”到同一位置(m:+0,+0部分)并再次点击同一位置(c:.)的情况下工作。)

  5. 每次启动服务器时都会运行脚本。
  6. 享受!