Я делаю приложение python, у которого есть метод, требующий прав root. От https://www.freedesktop.org/software/polkit/docs/0.105/polkit-apps.html, я нашел Пример 2. Доступ к полномочию через D-Bus, который является версией кода ниже, я выполнил его, и я подумал, что после ввода пароля я получаю права root все еще получая «разрешение отклонено» в моем приложении. This это функция, которую я пытаюсь подключитьКак подключить dbus и policykit к моей функции в python?
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
Ну, я думаю, что это удастся, пока введен правильный пароль. Тем не менее, я все еще теряюсь, так как не знаю, как использовать результат. Я пробовал документы, но не мог придумать ничего конкретного. – answerSeeker
Вот пример из документов [aptdaemon docs] (https://pythonhosted.org/aptdaemon/dbus.html#policykit-privileges) –