微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 在Puppet中,我如何保护密码变量(在这种情况下是MySQL密码)?

我正在使用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访问权限.

原文地址:https://www.jb51.cc/linux/400930.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐