强制GUI应用程序以root身份运行

时间:2014-09-11 15:15:32

标签: python macos root pyinstaller

我正准备在OS X上部署应用程序。这是我第一次在这个平台上编写一个需要root权限才能正常运行的应用程序,因此我需要为每次启动尝试集成该功能。 / p>

应用程序本身是用Python 2.7编写的,然后使用PyInstaller编译为二进制文件。到目前为止,我已经尝试过:

  • 使用sudo pyinstaller -w --icon=/path/to/icon /path/to/script.py

  • 运行PyInstaller
  • 使用sudo su

  • 调用PyInstaller命令

我不知道还有什么可以尝试。是否可以使用符号链接来实现?

2 个答案:

答案 0 :(得分:2)

Apple建议没有GUI应用程序以root用户身份运行,因为此类应用程序中包含的库会增加恶意软件的攻击媒介。

相反,建议将代码重构为两部分,即Gui和一个单独的帮助应用程序,它具有root权限。

有一个示例应用程序here

答案 1 :(得分:1)

以root身份运行安装程序将在以后以普通用户身份启动应用程序本身时无效。

请尝试sudo python /path/to/script.py

如果可行,那么将其放入shell脚本并运行该脚本从现在开始以root身份启动应用程序(知道MacOS的人可能会告诉您如何为脚本创建一个漂亮的图标)。 / p>

警告执行此操作会使您的系统容易受到攻击。如果你在自己的Mac上执行此操作,那很好。如果您正在开发一种销售给其他人的产品,那么您需要重新审视您的设计,因为它已严重破坏。