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

Создание случайного пароля марионеткой

Я собираюсь установить около 100 серверов mysql и хотел бы, чтобы на каждом из них был разный пароль root.

Я собираюсь использовать puppet mysql (https://forge.puppetlabs.com/puppetlabs/mysql) что удивительно. К сожалению, он поддерживает только передачу пароля от марионетки. Замечательно то, что он хранит пароль в файле /root/.my.cnf, поэтому я могу подключиться к mysql локально, не зная пароля. Так что я больше не вижу необходимости хранить пароль в марионетке.

Есть ли способ сгенерировать пароль на сервере, чтобы мне не нужно было хранить его на моем мастере марионеток?

Это должно делать:

$ cat passwd.pp
exec {
    'foobar':
      command => '/usr/bin/openssl rand -base64 12 > /root/.my.cnf',
      creates => '/root/.my.cnf',
      user    => 'root',
      timeout => '-1',
      require => Package['mysql'];
}

Но, поскольку вам придется администрировать большое количество экземпляров, вам может оказаться более полезным переключиться на PAM аутентификация, доступный как в MySQL Enterprise, так и в MariaDB.