注册
达梦数据库本地免密登录配置
专栏/培训园地/ 文章详情 /

达梦数据库本地免密登录配置

Day2Up 2024/12/30 433 1 0
摘要

概述

在配置达梦数据库的本地系统验证登录时,具体的操作命令是实现功能的关键。

操作系统本地认证方式

以下将详细介绍如何配置SYSDBA、SYSAUDITOR数据库内置用户以及用户自定义的普通用户免密登录,并附上相应的操作命令。

核心配置逻辑就是创建指定的组名,并将指定的操作系统用户添加到创建的组中,其达梦数据库用户和需要添加的附加组名称对应关系如下:

SYSDBA数据库用户 -- dmdba操作系统组

SYSAUDITOR数据库用户 -- dmauditor操作系统组

自定义数据库用户 -- 同名的操作系统用户和dmusers操作系统组

配置SYSDBA免密登录

  1. 创建dmdba用户组并添加用户
# 增加组 groupadd dmdba # 假设这里同时创建用户并指定主组为dmdba useradd dmdba -g dmdba # 如果用户已存在,则只添加用户到dmdba组 # usermod -a -G dmdba dmdba
  1. 设置ENABLE_LOCAL_OSAUTH参数

登录达梦数据库后执行:

-- 修改参数 SP_SET_PARA_VALUE(2, 'ENABLE_LOCAL_OSAUTH', 1); -- 查询修改 SELECT * FROM V$DM_INI WHERE PARA_NAME = 'ENABLE_LOCAL_OSAUTH';
  1. 重启数据库
# 根据达梦数据库的安装和配置,重启命令可能有所不同 # 以下是一个示例命令,具体请根据实际情况调整 DmServiceDM01 restart # 启动后验证参数是否已经生效 SELECT * FROM V$DM_INI WHERE PARA_NAME = 'ENABLE_LOCAL_OSAUTH';
  1. 验证免密登录
# 切换到 dmdba 用户 su - dmdba # 免密登录 [dmdba@KyLin10203 myfile]$ disql / as sysdba 服务器[LOCALHOST:5236]:处于普通打开状态 登录使用时间 : 21.459(ms) disql V8 SQL>

配置SYSAUDITOR免密登录

  1. 创建dmauditor用户组并添加用户
# 增加组 groupadd dmauditor # 同样假设使用已存在的dmdba用户作为SYSAUDITOR的登录用户,将其添加到dmauditor组 usermod -a -G dmauditor dmdba
  1. 设置ENABLE_LOCAL_OSAUTH参数(同SYSDBA配置)
  2. 重启数据库
  3. 验证免密登录
# 切换到 dmdba 用户 su - dmdba # 免密登录 [dmdba@KyLin10203 myfile]$ disql / as sysauditor 服务器[LOCALHOST:5236]:处于普通打开状态 登录使用时间 : 20.014(ms) disql V8 SQL>

配置普通用户免密登录

  1. 在数据库中创建用户
CREATE USER dameng IDENTIFIED BY "dameng12345";
  1. 在操作系统中创建用户
# 增加用户(要与需要免密的数据库用户名称保持一致) useradd dameng
  1. 创建dmusers用户组并添加用户
# 增加组 groupadd dmusers # 将 dameng 用户添加到新增加的附加组中 usermod -a -G dmusers dameng
  1. 设置ENABLE_LOCAL_OSAUTH参数(同SYSDBA配置)
  2. 重启数据库(同SYSDBA配置)
  3. 验证免密登录
# 切换到与数据库同名的操作系统用户 su - dameng # 免密登录 [dameng@KyLin10203 bin]$ ./disql / as users 服务器[LOCALHOST:5236]:处于普通打开状态 登录使用时间 : 18.465(ms) disql V8 SQL> select user; 行号 USER() ---------- ------ 1 DAMENG

外部存储密码方式

使用达梦数据库自带的 dmmkstore 工具实现。

创建密码库

# 创建密钥库,根据提示设置密钥库的密码,假设密码为 Dameng@123 dmmkstore -wrl /home/dmdba/keystore -create # 添加数据库用户密码,根据提示输入密钥库的密码,完成用户密码存储 dmmkstore -wrl /home/dmdba/keystore -createCredential dm SYSDBA SYSDBA # 查看密钥库已存储的用户密码列表 dmmkstore -wrl /home/dmdba/keystore -listCredential # 删除指定的用户密码 dmmkstore -wrl /home/dmdba/keystore -deleteCredential dm

使用密码库

# 配置 /etc/dm_svc.conf 全局区添加如下信息,服务名必须与存储的 connect_string 一致,不区分大小写。 WALLET_LOCATION=(/home/dmdba/keystore) DM=(192.168.248.203:5236) # 登录数据库 [dmdba@KyLin10203 bin]$ disql /@DM 服务器[192.168.248.203:5236]:处于普通打开状态 登录使用时间 : 18.377(ms) disql V8 SQL>

达梦技术社区地址: https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服