Каков наиболее безопасный и простой способ сделать так, чтобы пароль, вводимый пользователем на bash, стал частью стандартного ввода для программы?

Лучшее решение - oVirt (восходящий поток) или RHV (поддерживается Red Hat на RHEL).

Подробности см. На ovirt.org

11
25.09.2015, 19:02
1 ответ

Если ваша версия readне поддерживает -s, попробуйте POSIX-совместимый способ, описанный в этом ответе .

echo -n "USERNAME: "; read uname
echo -n "PASSWORD: "; set +a; stty -echo; read passwd; command <<<"$passwd"; set -a; stty echo; echo
passwd= # get rid of passwd possibly only necessary if running outside of a script

Предполагается, что set +aпредотвращает автоматический «экспорт» переменной в среду. Вы должны проверить man-страницы для stty, там доступно множество опций. <<<"$passwd"взят в кавычки, потому что в хороших паролях могут быть пробелы. Последним echoпосле включения stty echoявляется запуск следующей команды/вывода с новой строки.

2
27.01.2020, 19:58

Теги

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