0515-如何对Cloudera Manager的数据库密码进行脱敏

2019-11-28 23:34:07 浏览数 (1)

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1

问题重现

通过Fayson前面的文章《0509-深入分析CDH的安装目录》,我们知道Cloudera Manager使用的数据库账号密码信息保存在/etc/cloudera-scm-server目录下的db.properties文件中,但打开该文件进行查看发现数据库的password选项为明文,所示:

这种方式如果直接在文件中保存密码明文,对于一些企业的生产安全要求有时候是不能接受的,Cloudera官方没有提供直接对该文件中的密码明文进行脱敏的方式,但给出了另外一种方法。

  • 测试环境

1.CDH6.1

2.Redhat7.4

3.采用root进行操作

2

问题解决

1.在/etc/cloudera-scm-server/目录下创建一个脚本文件scm-passwd.sh,输入CM的数据库密码

代码语言:javascript复制
echo "password"

2.修改该文件的属组和权限

代码语言:javascript复制
chmod 500 scm-passwd.sh
chown cloudera-scm:cloudera-scm scm-passwd.sh

3.屏蔽db.properties文件中的旧的password属性条目,新增以下内容,并保存该文件。

代码语言:javascript复制
com.cloudera.cmf.db.password_script=/etc/cloudera-scm-server/scm-passwd.sh

4.重启cloudera-scm-server服务。

代码语言:javascript复制
systemctl restart cloudera-scm-server

5.再次登录CM,界面访问正常。

3

总结

1.Cloudera Manager的数据库密码默认以明文的方式保存在单独的文件中,该文件的权限较小(600),只有root和cloudera-scm用户才能查看。

2.官方提供将数据库密码单独保存到一个脚本文件中,然后在原db.properties文件中引入该脚本文件的方式来实现。

3.CM运行时,如果/etc/cloudera-scm-server/db.properties文件中不包含com.cloudera.cmf.db.password_script属性,系统会开始查找com.cloudera.cmf.db.password属性的值。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

0 人点赞