如何修改SAO用戶密碼


KingbaseES SAO 用戶是專門用於審計管理的用戶,用戶配置審計策略需要使用該用戶。在initdb 完成后,SAO  用戶的默認密碼保存在參數 sysaudit.audit_table_password 和 sysaudit.local_sao_password 中,默認密碼是 ‘12345678ab’ 。以下以例子的形式,展示修改SAO用戶密碼的過程。

1、開啟審計功能

設置參數:

shared_preload_libraries = 'liboracle_parser, synonym, plsql, force_view, plugin_debugger, plsql_plugin_debugger, plsql_plprofiler, ora_commands,kdb_ora_expr, sepapower, dblink, sys_kwr, sys_ksh, sys_spacequota, sys_stat_statements, backtrace, kdb_utils_function, sysaudit'
sysaudit.enable = on

2、修改SAO用戶密碼

alterr role sao with password '123abc'

修改完,用戶登錄時會有如下錯誤信息(實際用戶是登錄成功的):

2021-10-29 10:03:50.655 CST [27219] LOG:  could not connect to the KinbaseES server: fe_sendauth: no password supplied

這是由於在集群環境里,SAO 需要連接數據庫確認數據庫主備,而連接數據庫所用密碼就是 sysaudit.audit_table_password 和 sysaudit.local_sao_password 所保存的密碼。

同時修改參數 sysaudit.audit_table_password 和 sysaudit.local_sao_password 后,確認數據庫不再報錯。

3、密碼安全

如果明文將密碼保存在數據庫參數,必然會有安全問題。用戶可以將這兩個參數置為空:

test=> alter system set sysaudit.audit_table_password='';
ALTER SYSTEM
test=> alter system set sysaudit.local_sao_password ='';
ALTER SYSTEM

同時,修改 .encpwd 文件,用於免密登錄:

[c5@dbhost03 ~]$ sys_encpwd -H 127.0.0.1 -P 54321 -D security -U sao -W 123abc
[c5@dbhost03 ~]$ sys_encpwd -H \* -P 54321 -D \* -U sao -W 123abc


[c5@dbhost03 ~]$ ksql -d test -U sao -h 127.0.0.1
Password for user sao: 
[c5@dbhost03 ~]$ ksql -d security -U sao -h 127.0.0.1
ksql (V8.0)
Type "help" for help.

security=> 

密碼可以通過如下方式解密:

[c5@dbhost03 ~]$ cat .encpwd
127.0.0.1:54321:security:sao:MTIzYWJj
*:54321:*:sao:MTIzYWJj

[c5@dbhost03 ~]$ echo 'MTIzYWJj' | base64 -d
123abc

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM