Как установить корневой пароль MySQL с помощью chef solo, не сохраняя его в виде обычного текста?

Я пытался максимально автоматизировать нашу инфраструктуру, переместив установку и конфигурацию нашего сервера в режим шеф-повара.

Используя поваренную книгу OpsCode MySQL, я могу установить MySQL и установить пароль root следующим образом:

node['mysql']['server_root_password'] = 'my root password'

(или эквивалент JSON)

Это прекрасно работает, но в идеале мы бы не хотели хранить пароль в виде простого текста, поскольку он будет храниться на GitHub (конечно, в частном репозитории, но кто знает).

Есть ли способ вместо этого предоставить хэш пароля (аналогично определению пользователя в шеф-поваре),


person Daniel Upton    schedule 07.03.2013    source источник
comment
Используйте зашифрованные пакеты данных. И если вы хотите, вы можете хранить их в SCM вот так   -  person Draco Ater    schedule 09.03.2013
comment
Вы нашли решение этой проблемы? Это нормально, чтобы ответить на свой вопрос. Пожалуйста, не забудьте отметить ответ как правильный! :)   -  person sethvargo    schedule 03.01.2014


Ответы (1)


Скопируйте нужное значение хешированного пароля и используйте его вместо обычного текстового пароля.

Do

 SELECT Password
   FROM mysql.user
  WHERE User='root'
    AND Host='localhost'

чтобы получить хешированное значение из существующего экземпляра MySQL.

person O. Jones    schedule 07.03.2013
comment
Отлично, спасибо... Будет ли это работать с рецептом шеф-повара? (он использует mysqladmin -u root password "password", могу ли я просто поменять пароль на хеш? - person Daniel Upton; 08.03.2013
comment
Если это сработает, мне не нужно красть ваш пароль, чтобы получить доступ, я могу использовать хэш. Но это, очевидно, большая дыра в безопасности. - person Draco Ater; 09.03.2013
comment
Неправда, Драко. Система аутентификации берет пароль, предоставленный пользователем, хэширует его и сравнивает с сохраненным, хешированным паролем. Чтобы получить пароль, вы должны иметь возможность изменить алгоритм хеширования, что непросто. Но, конечно, вы можете взломать эту систему, введя другой хэш к известному вам паролю, если вы сможете получить доступ для записи к скрипту. - person O. Jones; 10.03.2013
comment
@OllieJones Нет, это просто использует хэш в качестве пароля! - person Daniel Upton; 13.03.2013