达梦数据库本地免密登录配置指南
达梦数据库的本地免密登录配置为数据库管理提供了便捷性与安全性。操作系统本地认证方式适用于固定用户的日常操作,通过用户组关联实现快速验证;外部存储密码方式则更灵活,适合多用户、多服务场景的密码管理。用户可根据实际需求选择合适的方式,配置过程中需注意参数设置与用户组关联的准确性,确保免密登录功能稳定生效。
在日常数据库管理操作中,频繁输入密码不仅繁琐,还可能存在密码泄露的风险。达梦数据库提供了本地免密登录的配置方式,能够有效提升操作效率与安全性。本文将详细介绍达梦数据库本地免密登录的两种实现方式及具体操作步骤。
一、操作系统本地认证方式
达梦数据库的操作系统本地认证机制,核心逻辑是通过创建指定的操作系统用户组,并将用户添加到对应组中,实现数据库用户与操作系统用户组的关联认证。不同类型的数据库用户对应不同的操作系统组,具体对应关系如下:
- SYSDBA数据库用户对应dmdba操作系统组
- SYSAUDITOR数据库用户对应dmauditor操作系统组
- 自定义数据库用户对应同名操作系统用户及dmusers操作系统组
1. 配置SYSDBA免密登录
步骤1:创建dmdba用户组并添加用户
通过以下命令创建dmdba组,若用户不存在可同时创建用户并指定主组;若用户已存在,则仅将其添加到dmdba组:
# 增加dmdba组
groupadd dmdba
# 创建dmdba用户并指定主组为dmdba
useradd dmdba -g dmdba
# 若用户已存在,仅添加到dmdba组
# usermod -a -G dmdba 用户名
步骤2:设置ENABLE_LOCAL_OSAUTH参数
登录达梦数据库后,执行以下SQL命令开启本地操作系统认证功能,并验证参数是否修改成功:
-- 修改参数(2表示系统级参数)
SP_SET_PARA_VALUE(2, 'ENABLE_LOCAL_OSAUTH', 1); #0代表开启,1代表关闭
-- 查询参数值
SELECT * FROM V$DM_INI WHERE PARA_NAME = 'ENABLE_LOCAL_OSAUTH';
步骤3:重启数据库使参数生效
根据数据库实际安装配置,执行重启命令(示例如下),并再次验证参数是否生效:
# 重启数据库服务(具体服务名根据实际情况调整)
DmServiceDM01 restart
# 登录后验证参数
SELECT * FROM V$DM_INI WHERE PARA_NAME = 'ENABLE_LOCAL_OSAUTH';
步骤4:验证免密登录
切换到dmdba用户,使用免密命令登录,若成功进入数据库交互界面则配置生效:
# 切换用户
su - dmdba
# 免密登录SYSDBA
disql / as sysdba
2. 配置SYSAUDITOR免密登录
步骤1:创建dmauditor用户组并添加用户
创建dmauditor组,并将需用于登录的用户(如已存在的dmdba用户)添加到该组:
# 增加dmauditor组
groupadd dmauditor
# 将dmdba用户添加到dmauditor组
usermod -a -G dmauditor dmdba
步骤2-3:设置参数与重启数据库
与SYSDBA配置相同,确保ENABLE_LOCAL_OSAUTH参数为1并重启数据库。
步骤4:验证免密登录
切换到已添加至dmauditor组的用户,执行免密登录命令验证:
su - dmdba
# 免密登录SYSAUDITOR
disql / as sysauditor
3. 配置普通用户免密登录
步骤1:在数据库中创建自定义用户
例如创建名为dameng的普通用户:
CREATE USER dameng IDENTIFIED BY "dameng12345";
步骤2:在操作系统中创建同名用户
操作系统用户名需与数据库用户名一致:
useradd dameng
步骤3:创建dmusers组并添加用户
创建dmusers组,将刚创建的操作系统用户添加到该组:
# 增加dmusers组
groupadd dmusers
# 将dameng用户添加到dmusers组
usermod -a -G dmusers dameng
步骤4-5:设置参数与重启数据库
同上述配置,确保ENABLE_LOCAL_OSAUTH参数生效。
步骤6:验证免密登录
切换到同名操作系统用户,执行免密登录命令:
su - dameng
# 免密登录普通用户
disql / as users
二、外部存储密码方式
达梦数据库提供了dmmkstore工具,可通过创建密码库存储用户密码,实现免密登录。
1. 创建密码库
# 创建密钥库(指定存储路径,按提示设置密钥库密码,示例密码:Dameng@123)
dmmkstore -wrl /home/dmdba/keystore -create
# 添加数据库用户密码(按提示输入密钥库密码,格式:-createCredential 服务名 用户名 密码)
dmmkstore -wrl /home/dmdba/keystore -createCredential dm SYSDBA SYSDBA
# 查看密钥库中存储的用户密码列表
dmmkstore -wrl /home/dmdba/keystore -listCredential
# 删除指定用户密码(如需移除)
dmmkstore -wrl /home/dmdba/keystore -deleteCredential dm
2. 配置并使用密码库
步骤1:配置服务文件
编辑/etc/dm_svc.conf文件,添加密钥库路径与数据库服务信息(服务名需与存储时的connect_string一致):
WALLET_LOCATION=(/home/dmdba/keystore)
DM=(192.168.248.203:5236)
步骤2:免密登录验证
通过服务名登录数据库,无需输入密码即可连接:
disql /@DM
总结
达梦数据库的本地免密登录配置为数据库管理提供了便捷性与安全性。操作系统本地认证方式适用于固定用户的日常操作,通过用户组关联实现快速验证;外部存储密码方式则更灵活,适合多用户、多服务场景的密码管理。用户可根据实际需求选择合适的方式,配置过程中需注意参数设置与用户组关联的准确性,确保免密登录功能稳定生效。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)