linux – 在Puppet中,我如何保护密码变量(在这种情况下是MySQL密
发布时间:2020-12-13 18:06:25 所属栏目:Linux 来源:网络整理
导读:我正在使用Puppet为 MySQL配置参数化类: class mysql::server( $password ) { package { 'mysql-server': ensure = installed } package { 'mysql': ensure = installed } service { 'mysqld': enable = true,ensure = running,require = Package['mysql-se
我正在使用Puppet为
MySQL配置参数化类:
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'],} } 我该如何保护$密码?目前,我从节点定义文件中删除了默认的世界可读权限,并通过ACL显式提供了puppet读取权限. 我假设其他人遇到了类似的情况,所以也许有更好的做法. 解决方法
在使用Puppet和MySQL时,我倾向于将root密码放在/root/.my.cnf中,将此文件锁定,然后将SSH访问限制在数据库服务器上.
是的,以明文形式将root密码存储在数据库服务器上并不是最安全的解决方案.但是,如果您在此文件中编写mysql root密码,则保护mysql root帐户以允许从localhost登录只会将密码保留在puppet之外,并且还会保留在进程列表ps表之外. 此外,如果某人有root权限来读取/root/.my.cnf上的文件,那么他们可能还可以访问停止本地MySQL守护程序并重新启动守护程序而不使用users表来获得对数据库的直接root访问权限. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |