отменить запрос sudo askpass - PullRequest
       6

отменить запрос sudo askpass

0 голосов
/ 09 сентября 2018

Я пытаюсь использовать kdialog с sudo в скрипте bash, экспортируя SUDO_ASKPASS в скрипт со строкой

kdialog --password "enter password: " 

и используя sudo -A.Это хорошо работает, за исключением , что если я нажимаю отмену в диалоговом окне, sudo игнорирует это и повторяет ввод пароля после задержки.Сценарий, состоящий из одной строки, завершается со статусом выхода kdialog, который не равен нулю при нажатии кнопки отмены.

Есть ли способ убедить sudo отказаться, как можно с помощью текстового интерфейса, набрав control-C?

Редактировать - в конце концов я понял, что происходит.Если вы нажмете «Отмена», kdialog выведет новую строку.Sudo --askpass интерпретирует это как пустой пароль и начинает обработку неправильного пароля.Сценарий askpass не должен испускать эту новую строку, если отменить нажатие.Способ сделать это -

pe=$(kdialog --password 'enter password: ') && echo "$pe"
...