Эта проблема не давала мне покоя.
Время от времени мне нужно написать файл сценария, который должен выполнять sudo
команды. Я не обязательно заранее знаю, что я буду работать, sudo
так что я уверен, что есть способ открыть красивый графический интерфейс (например, тот, который появляется при установке программного обеспечения), но как?
The man sudo
говорит:
-A Normally, if sudo requires a password, it will read it from the current terminal. If the -A (askpass) option is specified, a (possibly
graphical) helper program is executed to read the user's password and output the password to the standard output. If the SUDO_ASKPASS
environment variable is set, it specifies the path to the helper program. Otherwise, the value specified by the askpass option in
sudoers(5) is used
Так что я уверен, что решение находится в этом -A
и SUDO_ASKPASS
кортеже, однако мне удалось найти, что в них вставить.
gtksudo
илиkdesudo
. Я не знаю, что там на стороне OS-X, но я предполагаю, что вы ищете что-то в этом роде.Ответы:
У OS X нет полностью чистого способа сделать это, но есть несколько способов подделать это. Во-первых, у AppleScript есть хороший способ сделать вещи sudo-ish основанными на графической аутентификации, и вы можете использовать это:
Вы также можете использовать этот механизм для установки метки времени sudo, а затем использовать обычный sudo (в пределах 5-минутного интервала ожидания) для выполнения следующих действий:
Наконец, вы можете использовать AppleScript для запроса пароля, а затем передать его в sudo:
источник
OS X не поставляется с графическим интерфейсом для sudo, но вы найдете cocoasudo или macsudo полезными.
источник