使用 Python 自定义 GNOME 小程序需要具有 root 权限

使用 Python 自定义 GNOME 小程序需要具有 root 权限

我用 Python 编写了一个自定义 GNOME 面板小程序,需要写入一些 root 拥有的文件。有没有办法让它以 root 权限启动而不使用 suid?

答案1

你可以这样做PolicyKit

答案2

更好的解决方案:不要以 root 权限运行整个小程序。将一切可能的东西放在以普通用户权限运行的小程序上。创建修改必要文件的单独程序,然后通过sudo(或 suid)运行它。

对于 sudoers 配置,运行visudo。尝试类似

yourusername ALL=(ALL) NOPASSWD: /usr/local/bin/your_command.py

允许以 root 权限运行特定命令。


另一种方法:向那些根拥有的文件添加文件 acl,以允许用户更改。

man setfacl有关详细信息,请参阅(来自包acl)。

答案3

您应该将需要 root 访问权限的程序分离到一个单独的 python 程序中,然后使用 启动该程序gksudo

我在 Stack Overflow 上问过类似的问题。

相关内容