gpt4 book ai didi

python - 如何将 dbus 和 policykit 连接到我在 python 中的函数?

转载 作者:太空狗 更新时间:2023-10-29 21:11:51 24 4
gpt4 key购买 nike

我正在制作一个 python 应用程序,它有一个需要 root 权限的方法。来自 https://www.freedesktop.org/software/polkit/docs/0.105/polkit-apps.html , 我找到了 Example 2. Accessing the Authority via D-Bus 这是下面代码的 python 版本,我执行了它并且我认为我可以在输入密码后获得 root 权限但是我的应用程序仍然“权限被拒绝”。 This是我要连接的函数

import dbus

bus = dbus.SystemBus()
proxy = bus.get_object('org.freedesktop.PolicyKit1', '/org/freedesktop/PolicyKit1/Authority')
authority = dbus.Interface(proxy, dbus_interface='org.freedesktop.PolicyKit1.Authority')

system_bus_name = bus.get_unique_name()

subject = ('system-bus-name', {'name' : system_bus_name})
action_id = 'org.freedesktop.policykit.exec'
details = {}
flags = 1 # AllowUserInteraction flag
cancellation_id = '' # No cancellation id

result = authority.CheckAuthorization(subject, action_id, details, flags, cancellation_id)

print result

最佳答案

在您引用的 python 代码中,result表示成功还是失败?如果失败,您需要首先找出 bus 的返回值来缩小错误范围。 , proxy , authoritysystem_bus_name是。如果成功,您需要检查如何使用 result .

关于python - 如何将 dbus 和 policykit 连接到我在 python 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41177874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com