版權聲明:本文為博主原創文章,未經博主允許不得轉載。http://www.lxweimin.com/p/4e0b382c8fd5
背景:
由于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,如下:
4、修改文件內容及數組權限
編輯/etc/cloudera-scm-server/scm-passwd.sh,內容如下
echo? U2FsdGVkX18f1etoy8QvkvuVjrVB6xamuBW1g0CpzXxoMmQ5mO2eokhrrp+tmy43 | openssl aes-128-cbc -d -k 123 -base64
修改該文件權限為755,屬主為cloudera-scm-server
5、重啟cloudera-scm-server服務
$>server cloudera-scm-server restart
6、再次登陸CM,頁面訪問正常。
誤區:
一開始嘗試直接修改/etc/cloudera-scm-server/db.properties文件中的com.cloudera.cmf.db.password參數,給其賦值
com.cloudera.cmf.db.password=` echo U2FsdGVkX18f1etoy8QvkvuVjrVB6xamuBW1g0CpzXxoMmQ5mO2eokhrrp+tmy43 | openssl
aes-128-cbc -d -k 123 -base64`
但由于該文件為數據庫屬性文件,不支持賦值操作,因此該方案行不通。