注册
disql不输入明文密码登录
专栏/Database Thinking/ 文章详情 /

disql不输入明文密码登录

胡li 2022/12/16 2524 4 7
摘要 后台输入disql时,大部分都是直接用户名/密码访问,如何做不不输入明文密码访问,不泄漏密码,可以参考以下内容

disql登录时不输入明文密码进行登录

先输入

disql /NOLOG

再输入

login

依次输入ip地址:端口,密码,其他默认即可。如果想直接输入命令disql,需要配置path环境变量,不然只能cd到dmdbms/bin目录执行./disql,截图如下:

image.png

登录用户名密码外部存储

参考链接:https://eco.dameng.com/document/dm/zh-cn/pm/username-password-external-storage
安装目录dmdbms/doc/《DM8安全管理》.pdf操作手册

说明

为了避免用户登录数据库时直接接触数据库登录密码,DM 提供了一种登录用户名密码
外部存储方式,系统管理员可将用户名和密码存储在外部加密的密码文件(wallet文件)
中,用户登录数据库时只需提供配置好的服务名便可成功登录数据库。

具体实现分为两步:
一是创建 wallet 文件,用于存储服务名、用户名和登录密码。
二是配置 dm_svc.conf 文件,设置 wallet 文件路径以及服务名对应的数据库连接地址(IP 和 PORT)。配置完成后用户便可直接通过服务名成功登录数据库。

以上数据库登录方式存在以下限制:
 LOGIN 命令不支持利用 wallet 文件登录数据库
 DM 管理工具和 JDBC 不支持利用 wallet 文件登录数据库

DM 提供了一个数据库密码管理工具 dmmkstore,系统管理员可通过 dmmkstore 工
具创建、访问或修改 wallet 文件。

详细步骤

image.png

数据库中新建用户 user01 和 user02。

CREATE USER USER01 IDENTIFIED BY 123456789;

创建 wallet 文件

在/home/test/dmdbms/wallet 路径下创建一个 wallet 文件,文件密码为 Wallet_123。

./dmmkstore -wrl /home/test/dmdbms/wallet -create

输入口令: Wallet_123

再次输入口令: Wallet_123

创建凭据

在 wallet 文件中创建两条凭据,服务名分别为 dm_user01 和 dm_user02。

./dmmkstore -wrl /home/test/dmdbms/wallet -createCredential dm_user01 USER01 123456789

输入 Wallet 口令: Wallet_123

Create credential DM.security.client.connect_string1

查看凭据

查看 wallet 文件中的凭据。

./dmmkstore -wrl /home/test/dmdbms/wallet -listCredential

输入 Wallet 口令: Wallet_123

List credential (index: connect_string username)

1: dm_user01 USER01

配置 dm_svc.conf 文件

在需要登录的服务器或终端配置dm_svc.conf文件,详细配置步骤参考以下链接
https://eco.dameng.com/document/dm/zh-cn/pm/skill-servicename

dm_svc.conf 文件中的配置内容如下:

WALLET_LOCATION=(/home/test/dmdbms/wallet)
dm_user01=(192.168.100.163:5236)

disql 客户端工具通过 dm_user01 服务名登录数据库

./disql /@dm_user01

服务器[192.168.100.163:5254]:处于普通打开状态

登录使用时间 : 9.232(ms)

disql V8

SQL> SELECT USER();

 

行号   USER()

---------- ------

1     USER01
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服