Удаленное выключение / перезапуск Linux-машины без пароля

Я пишу клиент-серверное приложение pyQt, которое перезапускает / выключает ПК удаленно .
получатели прослушивают сеть на предмет входящих сообщений, а отправитель отправляет сообщение перезапуска / выключения выбранному получателю.

На приемнике выполняется следующая часть кода:

import os

self.currentOS = calling a function to determine the current OS

if self.currentOS == "Win":
    os.system("shutdown -r -f -t 1")
elif self.currentOS == "Lin":
    os.system("shutdown -r now")

У меня есть две виртуальные машины, действующие как приемники, одна в Windows, а другая в Linux.

Когда я отправляю сообщение о перезагрузке в приемник Windows, машина перезагружается.
Когда я отправляю сообщение о перезапуске на приемник Linux , запрашивает пароль

Incoming:EXEC_OP_RESTART
[sudo] password for jwalker: 

Что мне нужно изменить, чтобы решить эту проблему?
{{ 1}} Является ли shutdown -r now единственным способом, или я могу сделать это другим способом (более прямым)?

РЕДАКТИРОВАТЬ: В этом вопросе использовалось что-то под названием dbus , и это было сделано без пароля, я ищу альтернативу dbus.

5
задан Community 23 May 2017 в 11:51
поделиться