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

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的数据库密码

echo "password"

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

chmod 500 scm-passwd.sh
chown cloudera-scm:cloudera-scm scm-passwd.sh

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

com.cloudera.cmf.db.password_script=/etc/cloudera-scm-server/scm-passwd.sh

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

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属性的值。

发布了315 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Hadoop_SC/article/details/103678545