Ввод открытого текстового пароля при использовании mysqldump через сессию SSH - PullRequest
2 голосов
/ 16 января 2012

Следующие файлы будут выгружать БД на мою машину с удаленного компьютера (а также gzips):

ssh root@foo.com "mysqldump -u root -p db_name | gzip -c" > dn_name.sql.gz

Почему пароль хоста скрыт правильно, но ввод пароля для mysql - простой текст?

Спасибо:).

1 Ответ

2 голосов
/ 16 января 2012

Поскольку, если вы вводите пароль неинтерактивно в оболочке, другие пользователи всегда могут увидеть его в дереве процессов.

Если вы все равно запускаете процесс как пользователь root, то пользователь root должен сам быть достаточно защищенным, поэтому вы должны сделать дамп без пароля для пользователя root.

Другой вариант - создать файл .my.cnf в домашнем каталоге, сделать его доступным для чтения и записи только для пользователя root (chmod 600). Вот содержимое указанного .my.cnf файла:

[mysqldump]
user = mysqluser
password = secret

Таким образом, пользователь и пароль должны вводиться автоматически, без риска их компрометации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...