在我们用命令行登录数据库时候,disql需要输入用户名和密码,在我们使用history命令查看的时候,就会出现密码泄露的情况,如何做不输入明文密码访问,请参考一下内容。
[root@dameng-test ~]# su - dmdba
[dmdba@dameng-test ~]$ disql /nolog
SQL> login
server:
username:sysdba
password:
SSL path:
SSL PWD:
UKEY NAME:
UKEY PIN:
MPP TYPE:
read/write separate(y/n):n
protocol type:
Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 2.747(ms)
SQL>
SQL命令行只需要输入login,用户名和密码,其他默认
说明:
为了避免用户登录数据库时候直接接触数据库的密码,DM提供了密码外部存储的方式,系统管理员可以叫密码存储在外部加密的密码文件中,用户登录数据库的时候只需要提供配置好的服务名就可以登录数据库了。
步骤:
1.创建wallet文件,用于存储服务名,密码,用户名
2.配置/etc/dm_svc.conf文件,设置wallet文件路径以及服务名对应的数据库连接地址,配置完成后,用户可以通过服务名来访问数据库了。
3.DM 提供了一个数据库密码管理工具 dmmkstore,系统管理员可通过 dmmkstore 工具创建、访问或修改 wallet 文件。
限制:
实施步骤:
1.数据库中新建用户
SQL> create user ycy identified by Dameng123;
2.创建 wallet 文件,在/home/dmdba/wallet 路径下创建一个 wallet 文件,文件密码为 Wallet_123。
[dmdba@dameng-test ~]$ dmmkstore -wrl /home/dmdba/wallet -create
DM Secret Store Tool: V8
Enter password:Wallet_123
Enter password again:Wallet_123
3.创建凭证
在 wallet 文件中创建凭据,服务名为 dm_ycy01
[dmdba@dameng-test ~]$ dmmkstore -wrl /home/dmdba/wallet/ -createCredential dm_ycy01 ycy Dameng123
DM Secret Store Tool: V8
Enter wallet password:Wallet_123
Create credential DM.security.client.connect_string1
4.查看凭证
[dmdba@dameng-test ~]$ dmmkstore -wrl /home/dmdba/wallet/ -listCredential
DM Secret Store Tool: V8
Enter wallet password:Wallet_123
List credential (index: connect_string username)
1: dm_ycy01 ycy
5.配置dm_svc.conf 文件
[root@dameng-test ~]# vi /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(EN)
WALLET_LOCATION=(/home/dmdba/wallet)
dm_user01=(215.244.11.228:5236)
6.通过服务名登录数据库
[dmdba@dameng-test ~]$ disql /@dm_ycy01
Server[215.244.11.228:5236]:mode is normal, state is open
login used time : 6.331(ms)
disql V8
SQL> select user;
LINEID USER()
1 YCY
文章
阅读量
获赞
