我正在开发一个代表用户管理网络接口的应用程序,它调用了几个需要 root 进行更改的外部程序(例如 ifconfig)。(具体来说,更改本地接口的 IP 地址等)在开发过程中,我一直以 root 身份运行 IDE(呃),以 root 身份运行调试器(double-ugh)。最终用户是否有一种在非 root 帐户下运行这些的好方法?我非常不喜欢 GTK、wxPython、Python 和我的应用程序在以 root 身份运行时所呈现的攻击面的大小。
我已经研究过功能,但它们看起来不成熟,我不确定我是否能够在 Python 中使用它们,特别是如果它们是基于线程的。我没有探索的唯一选项是设置了 setuid 位并代表 UI 执行所有根类型的东西的守护进程。我不愿在项目的早期引入这种复杂性,因为以 root 身份运行对用户来说并不是一个破坏者。