Oracle(16)Managing Privileges

目录

一、基础知识

1、Managing Privileges管理权限

2、System Privileges 系统特权

3、System Privileges : Example系统权限:示例

4、Who Can Grant or Revoke? 谁可以授予或撤销权限?

5、The PUBLIC

6、SYSDBA and SYSOPER

7、Revoke with ADMIN OPTION 使用ADMIN OPTION撤消

8、Some Points 一些系统权限要点

9、Revoke with GRANT OPTION 使用GRANT OPTION撤消

10、Some Points 一些对象权限要点

二、基础操作

1、Granting System Privileges 授予系统权限

2、Revoking System Privileges 撤销系统权限

3、Granting Object Privileges 授予对象权限

4、Revoking Object Privileges 撤销对象权限


Managing Privileges 管理权限

目标:

  • 识别系统和对象权限
  • 授予和撤销特权
  • 获取权限信息

一、基础知识

1、Managing Privileges管理权限

有两种类型的甲骨文用户特权:

  • System系统:使用户能够在数据库中执行特定的操作
  • Object对象:使用户能够访问和操作特定对象

2、System Privileges 系统特权

  • 有超过100个不同的系统权限
  • privileges中的ANY关键字表示用户在任何架构中都有权限(给予ANY特权要慎重)
  • GRANT命令将特权添加到一个用户或一组用户
  • REVOKE命令删除特权。

3、System Privileges : Example系统权限:示例

在INDEX中没有普通的CREATE INDEX权限,因为在个CREATE TABLE创建表权限的时候就授予了创建索引的权限。

4、Who Can Grant or Revoke? 谁可以授予或撤销权限?

只有两种类型的用户可以向其他用户授予系统权限或撤销这些权限:

  • 使用ADMIN选项授予特定系统权限的用户
  • 具有系统权限的用户授予任何权限

只将这些特权授予受信任的用户。

5、The PUBLIC

PUBLIC是数据库中定义的用户组;它不是数据库用户或角色。数据库中的每个用户都属于这个组。因此,如果将特权授予PUBLIC,则数据库的所有用户都可以使用这些特权。

6、SYSDBA and SYSOPER

7、Revoke with ADMIN OPTION 使用ADMIN OPTION撤消

当我们撤销权限时,只撤销用户本身的权限,不会级联撤销用户已经授予的权限

8、Some Points 一些系统权限要点

  • 要连接到数据库,您需要CREATESESSION特权
  • 要删除属于另一个模式的表,您需要DROP ANY TABLE特权。
  • CREATE ANY PROCEDURE (或EXECUTE ANY PROCED) 特权许用户创建、替换或删除 (或执行) 过程、包和函数,这包括Java类。(这个要特别注意,可能会利用系统bug创建dba权限)
  • CREATETABLE特权使您能够在模式中创建、更改、删除和查询表。
  • SELECT、INSERT、UPDATE和DELETE是对象特权,SELECTANYINSERTANY、UPDATEANY和DELETEANY是系统特权 (换话说它们不应用于特定对象)

9、Revoke with GRANT OPTION 使用GRANT OPTION撤消

10、Some Points 一些对象权限要点

  • 对象特权可以授予用户、角色或PUBLIC。
  • 如果一个视图引用其他用户的表或视图,则必须对该视图的基础表具有WITH GRANT OPTION权限,才能将该视图的任何权限授予其他用户。例如,JOHN拥有一个视图,该视图引用了JAMES中的一个表。要将视图上的SELECT权限授予另一个用户,JOHN应该已经收到了表WITH GRANT OPTION上的SELECT权限。
  • 在表上接收到的任何对象特权都为被授予者提供锁定表的特权。
  • 不能在列上指定SELECT权限;若要授予列级SELECT权限,请创建具有所需列的视图,并在视图上授予SELECT权限。
  • 您可以指定所有或所有特权来授予对象上的所有可用特权(例如,将所有客户的权限授予James)。
  • 即使您具有DBA权限,要在其他用户拥有的对象上授予权限,您必须已被授予该对象的适当权限WITHGRANTOPTION。
  • 可以在一条语句中向多个用户和/或角色授予多个特权。例如,GRANTINSERT、UPDATE、选择客户到管理角色、JULIE、SCOTT;

二、基础操作

1、Granting System Privileges 授予系统权限

  • 使用GRANT命令授予系统特权。
GRANT CREATE 权限名(例如:SESSION) TO 用户名;
  • 被授予者可以通过ADMIN选项进一步授予系统特权。 
GRANT CREATE 权限名(例如:SESSION) TO 用户名 WITH ADMIN OPTION;

2、Revoking System Privileges 撤销系统权限

  • 使用REVOKE命令删除用户的系统特权。
  • 具有ADMIN OPTION系统权限的用户可以撤销系统权限
  • 只有通过GRANT命令授予的特权才能被撤销。
REVOKE 权限名(例如:CREATE TABLE)FROM 用户名;

3、Granting Object Privileges 授予对象权限

  • 使用GRANT命令授予对象权限
  • 授予必须在设保人的模式或设保人必须有GRANT OPTION。
GRANT EXECUTE ON 对象名(例如一个表:这里就写表名) To 要授权的用户名;
这个操作可以把自己的对象(按照例子来说就是表)授权给其他用户,其他用户可以查询这个表 
GRANT UPDATE ON 对象 TO 授权用户名 WITH GRANT OPTION:

4、Revoking Object Privileges 撤销对象权限

  • 使用REVOKE命令撤销对象权限。
  • 撤销特权的用户必须是被撤销的对象特权的原始授予者。
REVOKE SELECT ON 对象 FROM 用户名;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/169873.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Minio

Minio学习 MinioMinio介绍安装window安装1.下载服务端和客户端文件[地址](https://min.io/download#/windows)2.创建minio相关目录3.启动minio服务方式一方式二4.查看minio版本5.访问minio控制台 linux安装docker安装 Minio Minio介绍 MinIO 是在 Apache License v2.0 下发布…

通过easyexcel导出数据到excel表格

这篇文章简单介绍一下怎么通过easyexcel做数据的导出,使用之前easyui构建的歌曲列表crud应用,添加一个导出按钮,点击的时候直接连接后端接口地址,在后端的接口完成数据的导出功能。 前端页面完整代码 let editingId; let request…

git使用笔记

0.记录使用经验 1.提交和push代码 git add .添加修改 git commit -m "提交日志" git push origin branch_name推送分支名称代码到远程服务器对应分支 1.1日常操作 git status查看仓库状态 git branch查看分支 git branch -a查看所有分支【包含远程】 git checkou…

STM32--EXTI外部中断

一、什么是外部中断? 外部中断是指由微处理器或微控制器外部引脚(通常是GPIO引脚)上的外部事件触发的中断。这些外部事件可以是来自外部设备、传感器或其他外部信号源的触发。 二、外部中断详细内容 由AFIO时钟管理的寄存器有AFIO_EVCR(时…

Dell戴尔灵越Inspiron 7700 AIO一体机电脑原厂预装Windows10系统

链接:https://pan.baidu.com/s/1-slgR9t4Df_eko0Y6xaeyw?pwdmk0p 提取码:mk0p 灵越7700一体机原装出厂系统自带声卡驱动、无线网卡驱动、面部识别等所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、MyDell等预装程序 由于时间关系,…

自定义Graph Component:1-开发指南

可以使用自定义NLU组件和策略扩展Rasa,本文提供了如何开发自己的自定义Graph Component指南。   Rasa提供各种开箱即用的NLU组件和策略。可以使用自定义Graph Component对其进行自定义或从头开始创建自己的组件。   要在Rasa中使用自定义Graph Component&#x…

c语言:解决数组中数组缺少单个的元素的问题

题目:数组nums包含从0到n的所以整数,但其中缺了一个。请编写代码找出那个缺失的整数。O(n)时间内完成。 如,输入:【3,0,1】。 输出: 2 三种方法 : 方法1:排序&#xf…

超详细介绍对极几何和立体视觉及 Python 和 C++实现

您是否想过为什么戴着特殊的 3D 眼镜观看电影时可以体验到美妙的 3D 效果?或者为什么闭上一只眼睛很难接住板球?这一切都与立体视觉有关,立体视觉是我们用双眼感知深度的能力。这篇文章使用 OpenCV 和立体视觉为计算机提供这种感知深度的能力。代码以 Python 和 C++ 形式提供…

【0基础学Java第九课】-- 抽象类和接口

9. 抽象类和接口 9.1 抽象类9.1.1 抽象类概念9.1.2 抽象类语法9.1.3 抽象类的特性9.1.4 抽象类的作用 9.2 接口9.2.1 接口的概念9.2.2 语法规则9.2.3 接口使用9.2.4 接口特性9.2.5 实现多个接口9.2.6 接口的继承9.2.9 抽象类和接口的区别 9.3 Object类9.3.1 获取对象方法9.3.1 …

centos中安装的goland配置sdk报错:所选的目录不是Go SDK的有效主路经

选中目录后一直报错: 正确的位置: 原因竟然是使用 解压go1.21.4.linux-amd64.tar.gz 包出来,少了scr和test目录,重新解压后可以正确设定SDK主目录。 有同样问题的可以确认一下。 tar -C /usr/local -zxvf go1.19.2.linux-amd64.…

改进YOLO系列 | YOLOv5/v7 引入Super Token Sampling ViT | 《CVPR 2023 最新论文》

论文地址:https://arxiv.org/abs/2211.11167 代码地址:https://github.com/hhb072/STViT 视觉变换器已经在许多视觉任务中取得了令人印象深刻的性能。然而,它在捕捉浅层的局部特征时可能会受到高度冗余的影响。因此,引入了局部自注意力或早期卷积,这些方法牺牲了捕捉长距…

刚柔相济铸伟业 ——访湖南顺新金属制品科技有限公司董事长张顺新

时代在变,唯初心不改。 精致、谦虚、谨慎、儒雅、温和——他就是张顺新,湖南顺新金属制品科技有限公司、湖南顺新供应链管理有限公司董事长,民建长沙市委常委,民建湖南省环资委副主任,省、市民建企联会常务副会长&…