Как запустить команду как root из Python в Mac OS X? - PullRequest
2 голосов
/ 10 октября 2011

В моем приложении Python GUI мне нужно выполнить команду от имени пользователя root для выполнения определенного действия (точнее, он устанавливает модуль Python для всей системы). В Linux я просто использую gksudo или kdesu с префиксом команды, переданной subprocess.Popen (). К сожалению, нет эквивалента Mac. Я видел этот вопрос, прежде чем указывать на какой-то сложный код Objective-C, называемый BetterAuthorizationSample ... Я действительно не понимаю его и предпочел бы не писать код Objective-C для выполнения этой простой задачи. Если есть более простой способ, я хотел бы знать. Я думаю, что мог бы сделать свое собственное диалоговое окно пароля и передать его обычной командной строке sudo на stdin.

Ответы [ 2 ]

1 голос
/ 10 октября 2011

Изо всех сил я не знаю, как повысить свои привилегии, но вы могли бы использовать AppleScript для запроса пароля. Например, см. https://github.com/apenwarr/sshuttle/blob/master/ui-macos/askpass.py

0 голосов
/ 13 августа 2015

Я не нашел оптимального решения, но я только что опубликовал свое текущее работающее решение здесь

Он использует osascript для перезапуска с правами root.

...