Назад | Перейти на главную страницу

Как небезопасно использовать пароль MySQL из командной строки?

У меня есть несколько инструментов BASH, которые используют mysql -e "{command}" функция. Ввод пароля каждый раз, когда я использую эти инструменты, будет затруднительным, поэтому, чтобы избежать записи пароля в текстовом файле с кодом, я сохраняю его в памяти (используя read -s) и пусть BASH читает его всякий раз, когда запускает команды.

Mysql по-прежнему считает, что пароль отправляется через командную строку (потому что, так сказать, это так), и по-прежнему выдает мне ошибку «Использование пароля в интерфейсе командной строки может быть небезопасным».

Для моих целей мне не нужно подавлять это сообщение. Что мне нужно знать, что это мог сделать это небезопасным? Пароль никогда не виден физически, поэтому при серфинге через плечо это невозможно, и даже тот, кто угадает мой пароль SSH, не сможет этого сделать, поскольку он хранится в памяти, а не в самих скриптах. Возможна ли атака «человек посередине» или что-то подобное?

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

Таким образом, для ящика, в который вы входите исключительно вы, риск, вероятно, незначителен. Но для целевой атаки лично на вас это тривиальный вектор атаки по большому счету.