Mam kilka narzędzi BASH, które używają tej mysql -e "{command}"
funkcji. Wprowadzanie hasła za każdym razem, gdy korzystam z tych narzędzi, byłoby uciążliwe, więc aby uniknąć zapisywania hasła w pliku tekstowym z kodem, przechowuję je w pamięci (używam read -s
) i BASH czyta je za każdym razem, gdy uruchamia polecenia.
Mysql nadal uważa, że hasło jest przesyłane za pośrednictwem wiersza poleceń (ponieważ w pewnym sensie tak jest) i nadal wyświetla błąd „Używanie hasła w interfejsie wiersza poleceń może być niepewne”.
Dla moich celów nie muszę ukrywać tej wiadomości. Muszę wiedzieć, co może sprawić, że poczujesz się niepewnie? Hasło nigdy nie jest fizycznie widoczne, więc surfowanie po ramionach nie mogło tego zrobić, a nawet ktoś, kto odgadł moje hasło SSH, nie byłby w stanie tego zrobić, ponieważ jest ono przechowywane w pamięci, a nie w samych skryptach. Czy możliwy jest atak typu man-in-the-middle czy coś podobnego?
bash
przeczytałeś po uruchomieniu polecenia? Jeśli to zrobisz, mysql -p"$pass"
każdy może to zobaczyć ps
.
~/.my.cnf
przykładzie można określić za gospodarz wykonując[client<hostname>]
np[clientlocalhost]
MySQL narzędzi użyje go automatycznie, dzięki czemu łatwiej i bezpieczniej