注册
基于OS身份验证登录达梦数据库
专栏/技术分享/ 文章详情 /

基于OS身份验证登录达梦数据库

Solreal 2026/06/04 88 0 0
摘要

一、概述

达梦数据库基于操作系统身份验证的登录方式类似Oracle的操作系统认证登录方式(/ as sysdba)。

达梦数据库基于操作系统的身份验证分为本机验证和远程验证,本机验证需要将DM配置文件dm.ini的ENABLE_LOCAL_OSAUTH参数设置为1(缺省为0);而远程验证需要将DM配置文件dm.ini的ENABLE_REMOTE_OSAUTH参数设置为1(缺省为0),表示支持远程验证,同时还要将dm.ini的ENABLE_ENCRYPT参数设置为1(缺省为1),表示采用SSL安全连接。这三个参数均为静态参数。

基于操作系统身份验证登录无需输入数据库用户和密码即可登录数据库。

二、功能使用说明

1、操作系统登录验证语法

disql / as <SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO>
disql /@<connect_identifier> as <SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO>

&lt;connect_identifier> 为ip:port或者dm_svc服务名
类型说明:

用户类型 语法 操作系统<br />所属用户组
SYSDBA disql / as SYSDBA<br />disql /@localhost:5236 as SYSDBA dmdba
SYSSSO disql / as SYSSSO<br />disql /@localhost:5236 as SYSSSO dmsso
SYSAUDITOR disql / as SYSAUDITOR<br />disql /@localhost:5236 as SYSAUDITOR dmauditor
USERS disql / as USERS<br />disql /@localhost:5236 as USERS dmusers
AUTO

2、准备工作

2.1 建用户组

在操作系统上创建4个用户组,分别为:dmdba、dmsso、dmauditor、dmusers,分别对应数据库中的SYSDBA、SYSSSO、SYSAUDITOR、普通用户。如果只是需要SYSDBA用户基于操作系统本地验证登录,则只需要创建dmdba组即可。

$ groupadd <dmdba|dmsso|dmauditor|dmusers>

复制

2.2 加入用户组

创建好用户组之后,需要将操作系统用户dmdba加入到对应的组。另外,如果是将操作系统用户加入到dmusers组,则数据库中需要存在一个与操作系统用户同名的数据库用户

$ usermod -a -G <dmdba|dmsso|dmauditor|dmusers> dmdba

复制

2.3 开启本地验证参数,重启服务

SQL> SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);

复制

三、使用测试

1、设置ENABLE_LOCAL_OSAUTH参数值为1

SQL> SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);

复制

2、SYSDBA本地登录

2.1 未加入组dmdba

$ disql / as sysdba
[-2512]:未经授权的用户.
disql V8
用户名:

复制

2.2 加入组dmdba

$ groupadd dmdba
$ usermod -a -G dmdba dmdba
$ disql / as sysdba

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 32.217(ms)
disql V8
SQL> SELECT USER;

行号        USER()
---------- ------
1          SYSDBA

复制

3、SYSAUDITOR本地登录

3.1 未加入dmauditor组

$ disql / as sysauditor
[-2512]:未经授权的用户.
disql V8
用户名:

复制

3.2 加入dmauditor组

$ groupadd dmauditor
$ usermod -a -G dmauditor dmdba
$ disql / as sysauditor

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 32.217(ms)
disql V8
SQL> SELECT USER;

行号        USER()
---------- ----------
1          SYSAUDITOR

复制

4、普通用户登录

操作系统添加test用户

$ useradd test

复制

数据库添加test用户

SQL> CREATE USER TEST IDENTIFIED BY 123456789;

复制

4.1 未加入dmusers组

$ su - test
$ disql / as users
[-2512]:未经授权的用户.
disql V8
用户名:

复制

4.2 加入dmusers组

$ groupadd dmusers
$ usermod -a -G dmusers test
$ su - test
$ disql / as users

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 32.217(ms)
disql V8
SQL> SELECT USER;

行号        USER()
---------- ----------
1          TEST
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服