背景:
由于Cloudera Manager使用的数据库账号密码信息保存在/etc/cloudera-scm-server/db.properties文件中,该文件中的com.cloudera.cmf.db.password为明文,因此考虑对其进行加密处理。
1、利用openssl进行AES/DES3加密解密
对字符串12345进行aes加密,使用密钥123(任意),输出结果以base64编码格式给出:
$> echo 12345 | openssl aes-128-cbc -k 123 -base64
得到加密字符串
U2FsdGVkX19mXXHnzrz7LeYigpdAa37UYo3sqz9GZGsD8jlEGZVemKWZNDNIl3AX
2、对加密字符串进行解密
$> echo U2FsdGVkX18f1etoy8QvkvuVjrVB6xamuBW1g0CpzXxoMmQ5mO2eokhrrp+tmy43
| openssl aes-128-cbc -d -k 123 -base64
返回12345,证明解密成功
3、修改/etc/cloudera-scm-server/db.properties,删除com.cloudera.cmf.db.password=12345
新增com.cloudera.cmf.db.password_script=/etc/cloudera-scm-server/scm-passwd.sh,如下: