Ошибка перезагрузки ОС через программу Python, которая работает через службы
Я написал программу на Python для перезапуска сервера, работающего на Ubuntu 18.04, используя: os.system("shutdown -r -t 1")
,
Когда служба загружена, ОС программы не перезапускается, но при независимом запуске программы она работает нормально.
Журнал сервиса показывает:
Nov 18 12:51:51 jetson-desktop python3[13004]: Failed to set wall message, ignoring: Interactive authentication required.
Nov 18 12:51:51 jetson-desktop python3[13004]: Failed to call ScheduleShutdown in logind, proceeding with immediate shutdown: Interactive authentication required.
Nov 18 12:52:44 jetson-desktop python3[13004]: Failed to set wall message, ignoring: Interactive authentication required.
Nov 18 12:52:44 jetson-desktop python3[13004]: Failed to call ScheduleShutdown in logind, proceeding with immediate shutdown: Interactive authentication required.
Что происходит не так?
1 ответ
shutdown
Команда требует повышенных привилегий.
Представьте себе, что в многопользовательской среде, которой является система Linux, каждый вошедший в систему пользователь может выключить или перезагрузить компьютер - это будет фатальным.
Итак, в основном вам нужно получить повышенные привилегии.
На этот вопрос отвечали много раз. Вот хорошая тема:
https://stackoverflow.com/questions/25215604/use-sudo-without-password-inside-a-script