J'utilise Puppet pour provisionner MySQL avec une classe paramétrée:
class mysql::server( $password ) {
package { 'mysql-server': ensure => installed }
package { 'mysql': ensure => installed }
service { 'mysqld':
enable => true,
ensure => running,
require => Package['mysql-server'],
}
exec { 'set-mysql-password':
unless => "mysqladmin -uroot -p$password status",
path => ['/bin', '/usr/bin'],
command => "mysqladmin -uroot password $password",
require => Service['mysqld'],
}
}
Comment puis-je me protéger $password
? Actuellement, j'ai supprimé l'autorisation lisible par défaut du monde du fichier de définition de nœud et donné explicitement l' puppet
autorisation de lecture via ACL.
Je suppose que d'autres ont rencontré une situation similaire, alors il y a peut-être une meilleure pratique.