草庐IT

达梦用户的权限配置,达梦,权限,用户权限,配置

LuckyTHP 2023-04-09 原文

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

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

注意

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

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

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

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

总结:

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

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

【DM-用户权限配置】权限 控制 如何 让 一个 用户 只能 访问一个表 且 看不到 其他 模式 下的 表 数据库 用户 权限控制 manager 看到的表 控制.rst

现象描述

注意

如果要给一个用户全库的查询权限,grant select any table to your_username; 就可以了

如果只想给特定表的权限,参考后文即可。

希望有一个用户,只能看到自己模式下的表,而看不到其他模式下的表

或者控制一个用户只能看到自己制定表的权限。

应当如何配置权限?

—— 核心是 revoke public from user_test

处理方法

这里是一个例子:如何创建一个用户,只能看到指定的表。

–这个脚本用sysdba执行

create table sysdba.test (v1 int);
drop user test_u;
create user test_u identified by 111111111;
revoke public from test_u;

grant select on v$instance to test_u;
grant select on V$MPP_CFG_ITEM to test_u;
grant select on V$DATABASE to test_u;
grant select on V$DM_INI to test_u;
grant select on V$VERSION to test_u; 
-- weblogic 11g test need  2019/9/11 16:59:22

备注:如果是17年的dmserver,就跳过这些步骤,直接
grant select on 你希望的它能查询的表 to aim_user_name;
就行了
因为,以前的版本,系统字典的权限是 dmserver 内置用户 sys的,
sysdba也不能(也没办法)控制,也就是 sysdba 也无法 revoke 和 grant 字典表的权限,
sysdba 不用管(也没法管)字典表的权限

grant select on test to test_u;

此时,用 test_u 登录manager,左侧导航栏则是能看到test 这个表

这里是相关的例子

可以这么做的一个缘由

-- sysdba 跑的
create table test_1 (v1 int);
insert into test_1 select level connect by level<=100;

create view test_v as select v1 from test_1 where v1<3;

grant select on test_v to test_u;
-- test_u 查的
select * from sysdba.test_v; --ok
select * from sysdba.test_1; -- 没有\[TEST_1\]对象的查询权限

…Notice::

select table 和 select any table 包括insert delete 等,所有不带any的描述的都是,自己用户下的权限。

This document was generated on 2021-05-12 at 23:50.

转载至:https://dms1101.gitee.io/dms/manager%EF%BC%88%E5%90%ABsql%E7%9A%84%E4%BD%BF%E7%94%A8%EF%BC%89%E9%83%A8%E5%88%86/%E3%80%90DM-%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90%E9%85%8D%E7%BD%AE%E3%80%91%E6%9D%83%E9%99%90%20%E6%8E%A7%E5%88%B6%20%E5%A6%82%E4%BD%95%20%E8%AE%A9%20%E4%B8%80%E4%B8%AA%20%E7%94%A8%E6%88%B7%20%E5%8F%AA%E8%83%BD%20%E8%AE%BF%E9%97%AE%E4%B8%80%E4%B8%AA%E8%A1%A8%20%E4%B8%94%20%E7%9C%8B%E4%B8%8D%E5%88%B0%20%E5%85%B6%E4%BB%96%20%E6%A8%A1%E5%BC%8F%20%E4%B8%8B%E7%9A%84%20%E8%A1%A8%20%E6%95%B0%E6%8D%AE%E5%BA%93%20%E7%94%A8%E6%88%B7%20%E6%9D%83%E9%99%90%E6%8E%A7%E5%88%B6%20manager%20%E7%9C%8B%E5%88%B0%E7%9A%84%E8%A1%A8%20%E6%8E%A7%E5%88%B6.html

有关达梦用户的权限配置,达梦,权限,用户权限,配置的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  4. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  5. ruby - RVM "ERROR: Unable to checkout branch ."单用户 - 2

    我在新的Debian6VirtualBoxVM上安装RVM时遇到问题。我已经安装了所有需要的包并使用下载了安装脚本(curl-shttps://rvm.beginrescueend.com/install/rvm)>rvm,但以单个用户身份运行时bashrvm我收到以下错误消息:ERROR:Unabletocheckoutbranch.安装在这里停止,并且(据我所知)没有安装RVM的任何文件。如果我以root身份运行脚本(对于多用户安装),我会收到另一条消息:Successfullycheckedoutbranch''安装程序继续并指示成功,但未添加.rvm目录,甚至在修改我的.bas

  6. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  7. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  8. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  9. ruby - rbenv 安装权限被拒绝 - 2

    大家好,我正在尝试设置一个开发环境,并且我一直在关注以下教程:Linktotutorial我做得不是很好,除了最基本的版本控制内容外,我对终端命令没有任何实际经验。我点击了第一个链接并尝试运行source~/.bash_profile我得到了错误;mkdir:/usr/local/rbenv/shims:权限被拒绝mkdir:/usr/local/rbenv/versions:权限被拒绝现在每次我加载终端时都会出现错误。bash_profile的内容;exportPATH=/usr/local/rbenv/bin:$PATHexportRBENV_ROOT=/usr/local/rbe

  10. Ruby 默认将 IRB 配置为 Pretty_Inspect - 2

    我是ruby​​的新手,正在配置IRB。我喜欢pretty-print(需要'pp'),但总是输入pp来漂亮地打印它似乎很麻烦。我想做的是默认情况下让它漂亮地打印出来,所以如果我有一个var,比如说,'myvar',然后键入myvar,它会自动调用pretty_inspect而不是常规检查。我从哪里开始?理想情况下,我将能够向我的.irbrc文件添加一个自动调用的方法。有什么想法吗?谢谢! 最佳答案 irb中默认pretty-print对象正是hirb被迫去做。Theseposts解释hirb如何将几乎所有内容转换为ascii表。虽

随机推荐