温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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属性的值。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。