Безопасный ввод данных в скриптах bash
Перевод: Secure Keyboard Input in BASH
Secure Keyboard Input in BASH
Мне тут нужно было написать простенький скрипт на bash, и чтобы он спрашивал пароль с клавиатуры и потом дальше передавал его другим командам по ходу дела. Оказывается, с такой задачей отлично справляется встроенная в bash функция read.
Стандартный ввод в скриптах bash
Вот как работает обычный ввод данных с клавиатуры: мы запускаем функцию read, указываем ей в в качестве параметра имя переменной. В консоли запрашивается ввод текста и когда мы его вводим, то отображается каждая буква ввода – мы видим, что печатаем.
Создаём скрипт:
пока это вот такой контент:
Сохраняем это дело (жмём Esc, потом вводим :wq) и делаем скрипт исполняемым:
Теперь запускаем скрипт и тестируем:
Работает на ура, но отображать секретные пароли прямо на стадии ввода с клавиатуры – не очень секьюрно. В настоящей ситуации я и подтверждать пароль, печатая его в конце скрипта, тоже бы не стал.
Безопасный ввод в bash
Просто указываем параметр -s для функции read (правим скрипт):
-s это от слова secure.
Сохраням и запускаем скрипт, и теперь во время ввода данных ничего отображаться не будет – как и полагается:
Здорово, правда?
Ссылки
- Официальный сайт nginx
- Проекты Unix Tutorial
- Install Ubuntu on Dell XPS laptop (моя статья на английском)
- Project: NAS storage with Helios 4 (моя статья на анлийском)
Secure Keyboard Input in BASH
Мне тут нужно было написать простенький скрипт на bash, и чтобы он спрашивал пароль с клавиатуры и потом дальше передавал его другим командам по ходу дела. Оказывается, с такой задачей отлично справляется встроенная в bash функция read.
Стандартный ввод в скриптах bash
Вот как работает обычный ввод данных с клавиатуры: мы запускаем функцию read, указываем ей в в качестве параметра имя переменной. В консоли запрашивается ввод текста и когда мы его вводим, то отображается каждая буква ввода – мы видим, что печатаем.
Создаём скрипт:
пока это вот такой контент:
Сохраняем это дело (жмём Esc, потом вводим :wq) и делаем скрипт исполняемым:
Теперь запускаем скрипт и тестируем:
Работает на ура, но отображать секретные пароли прямо на стадии ввода с клавиатуры – не очень секьюрно. В настоящей ситуации я и подтверждать пароль, печатая его в конце скрипта, тоже бы не стал.
Безопасный ввод в bash
Просто указываем параметр -s для функции read (правим скрипт):
-s это от слова secure.
Сохраням и запускаем скрипт, и теперь во время ввода данных ничего отображаться не будет – как и полагается:
Здорово, правда?
Ссылки
- Официальный сайт nginx
- Проекты Unix Tutorial
- Install Ubuntu on Dell XPS laptop (моя статья на английском)
- Project: NAS storage with Helios 4 (моя статья на анлийском)