Я пишу приложение python/Qt, которое необходимо выполнить для установки на диск. Следовательно, для этого необходимы права root. Есть ли способ заставить скрипт получить права root, используя всплывающее окно для пароля, например gparted? Я знаю, что можно обнаружить в сценарии, если он был запущен с Судом или нет, с чем-то вроде этого (например, в Баш):Linux получает права доступа root через всплывающее окно пароля
if [[ $(id -u) -ne 0 ]];
Но после этого, как я прошу пароль и получить права root во время выполнения?
Спасибо.
Спасибо. В моем приложении python я использовал «gksudo whoami», который безвреден, но дает подсказку всплывающее окно. Есть ли способ запросить разрешения sudo, не запуская определенную команду оболочки? Во-вторых, я хотел бы добавить свой собственный текст в появившееся окно. Например, gparted всплывает окна, в которых говорится, что «требуется аутентификация .... бла-бла». Как просто проверить разрешения sudo на всплывающее окно пользовательского аутентификации? –
Похоже на стандартизованное всплывающее окно системы, так как оно имеет значок на стороне (используется для гнома), который сочетает в себе изображение в виде ключа и супер-наложенное изображение значка приложения (в данном случае gparted). Но я понятия не имею, как получить такое всплывающее окно. –
Я получаю интерес, но я не уверен, почему вы хотите изобрести колесо? В связи с тем, что Unix обрабатывает скрипты, вам, вероятно, потребуется реализовать Rootwrap, привязанную к QMessageBox/QDialog, с вашим интересным сообщением: if event.accepted(): сделать some_task. Чтобы сделать это в чисто Python, попробуйте это: https://ask.openstack.org/en/question/60893/rootwrap-python-write-to-root-only-owned-file/ Однако это это именно ПОЧЕМУ существует gksudo: сделать корневую задачу из скрипта, где sudo недоступен. –