返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 2066|回复: 0

[转载] 【转载】达梦数据库用户的权限配置

[复制链接]
发表于 2024-6-18 21:43:40 | 显示全部楼层 |阅读模式

少侠不来段修仙之旅吗~

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
达梦数据库用户的权限配置


这里所有的内容基于下面的版本,后期随着版本可能有改动。

select * from v$version;
--DM Database Server x64 V7.6.0.96-Build(2018.09.19-97292)ENT

注意

角色就是一系列权限的集合,是方便用户操作的一个方式,因为把很多的权限(如很多表的查询权限,或者其他权限等)打包到一个角色中,后面要授予某个用户所有这些权限,只需要

【grant 角色 to 用户】就可以了。

达梦数据库默认有三个角色:DBA、RESOURCE、PUBLIC 三个角色。

DBA 角色中,是系统全部权限的即可,授予了 DBA,就是数据库系统中的老大了。

RESOURCE 角色中,是对应用户自己用户下的全部权限,授予了 RESOURCE ,就是用户可以在自己的用户下尽情操作了。

因此,相应的,我们这里分为三种情况:

情形1:

create user user_name_1 identified by passwd123456; – 其他什么也不做

情形2:

create user user_name_2 identified by passwd123456;
grant resource to user_name_2; – 其他什么也不做

情形3:

create user user_name_3 identified by passwd123456;
grant dba to user_name_3;

情形4:

create user user_name_4 identified by passwd123456;
grant resource any table to user_name_4;
grant select any table to user_name_4;

说明:

情形1: 1. 这个用户可以除了不能再在自己用户下新建表外,增删改已有的表、包括删除已有的表。都是可以做的。 2. 当然,其他用户下,什么都做不了(查询都做不了,操作会报错没有权限) 3. 如果要给这个用户下新建对象怎么办呢,自然是只能用其他具有权限的用户(一般是管理员)在这个用户下新建对象就好了,这样,目标用户就可以查询到新的东西了。关键点就是,这个用户,能在自己用户下搞事情,但是不能新建对象。—— 确实有场景需要这样的。

情形2: 这个用户下可以在自己用户下做任何事情;其他用户下,任何事情都做不了。

情形3: 这个用户可以在数据库上,为所欲为(所有的用户下),毕竟叫做:有了DBA权限嘛。所以,一般不会给这个权限的。

情形4: 这个就是构造一个查询用户的场景,他可以在自己的用户下为所欲为,同时,可以查询全库的数据,但是对于其他用户下的数据,不能做增删改。

总结:

一般情况下,情形2 是我们的需求;情形4 我们也经常需要。如果我们需要新建一个用户,只能查询特定的表,可以参考本文后半部分。

我们可以通过系统表去核查 三个角色(DBA RESOURCE PUBLIC)具体对应哪些具体权限:

select * from DBA_SYS_PRIVS;







游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表