Сбор пароля пользователя через GUI в сценарии

Я знаю то использование sudo и ssh инструменты возможно использовать GUI для просьбы пароль в сценарии путем установки, соответственно, SUDO_ASKPASS и SSH_ASKPASS переменные, в которых мы указываем графический инструмент для выяснения у пароля.

Но что, если я использую какой-либо другой инструмент, который может попросить пароль, например ksu который, кажется, не поддерживает ни одного из вышеупомянутых режимов? (Я искал в Интернете, и я не нашел ничего как KSU_ASKPASS и ksu кажется, не имеет опции поддерживать это).

1
задан 17 November 2017 в 17:08

1 ответ

Я думаю, что нашел решение в конце...

Предположим, например, что Вы хотите перечислить содержание /root/ папка и чтобы сделать это, Вам нужен корневой доступ и можно только использовать ksu инструмент (нет sudo / su / ssh).

Во-первых, Вы спрашиваете пароль с помощью графического инструмента как zenity и Вы храните его в локальной переменной.

pw=$(zenity --entry --title="Password needed" --text="Enter password:" --hide-text)

После этого можно работать ls /root/ через ksu при помощи следующей команды.

echo $pw | ksu -e /bin/ls -a /root/

Объяснение:

  • При помощи echo объединенный с | Вы передаете пароль по каналу к ksu, так как это просит пароль через стандартный вход.

  • После чтения пароля от стандартного входа, ksu выполняется ls управляйте указанным использованием -e опция, передавая /root/ как аргумент через -a опция.

0
ответ дан 8 December 2019 в 03:21

Другие вопросы по тегам:

Похожие вопросы: