Oracle(16)Managing Privileges

news2024/11/18 22:46:54

目录

一、基础知识

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.coloradmin.cn/o/1196404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KT6368A蓝牙芯片的出现部分芯片距离短换芯片就好是什么问题呢

一、简介 KT6368A蓝牙芯片的出现部分芯片距离短,换一个芯片距离就好了,是什么问题呢?生产2K的样子 详细说明 按照我们出货客户的跟踪情况,这种问题,可能性极低因为芯片本身的不良率,目前是控制在千分之三…

js 求数组中的对象某个属性和

可以直接看下效果 代码&#xff1a; <script>let list [{num: 1,price: 10,},{num: 2,price: 10,},{num: 3,price: 10,},{num: 4,price: 10,},]// for循环 求总数和 num的和let num 0for (let i 0; i < list.length; i) {num list[i].num}console.log(第一种&am…

深度学习 python opencv 火焰检测识别 计算机竞赛

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

《红蓝攻防对抗实战》九.内网穿透之利用GRE协议进行隧道穿透

​ 前文推荐&#xff1a; 《红蓝攻防对抗实战》一. 隧道穿透技术详解 《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网 《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网 《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网 《红蓝…

AI:86-基于深度学习的人体姿态估计与运动分析

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新中,…

数据结构线性表——带头双向循环链表

前言&#xff1a;小伙伴们好久不见啦&#xff0c;上篇文章我们一起学习了数据结构线性表其一的单链表&#xff0c;了解了单链表的不少好处&#xff0c;但是不可能有完美的数据结构&#xff0c;就算是单链表&#xff0c;也会有很多缺点。 那么今天这篇文章&#xff0c;我们就来…

全网最细,Apipost接口自动化测试-关联配置,老鸟带你上高速...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 在接口自动化测试…

Arduino到底适不适合做产品

文章目录 一、Arduino性能很低&#xff0c;不如树莓派等开发板&#xff0c;所以不要用Arduino做开发二、Arduino程序效率很低&#xff0c;所以不要用Arduino做开发三、Arduino只能开发玩具&#xff0c;不能做产品四、Arduino开发板成本太高&#xff0c;不适合做产品总结个人见解…

iPhone或在2024开放第三方应用商店。

iPhone或开放第三方应用商店&#xff0c;可以说这是一个老生常谈的话题。对于像是iOS这样封闭的系统来说&#xff0c;此前传出苹果可能开放侧载消息的时候&#xff0c;又有谁能信&#xff0c;谁会信&#xff1f; 如果是按照苹果自身的意愿&#xff0c;这种事情自然是不可能发生…

【LeetCode笔试题】88.合并两个有序数组

问题描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&#xff0c;合…

王学岗visibility改变后调用onLayout()

自定义控件的时候发现了一个bug。 Button位移动画执行结束后我设置了一个不相关的TextView的可见性由gone变为visible.令人郁闷的是&#xff0c;只要我注释的地方放开。动画执行结束后button都会重新绘制在位移动画开始的位置。注释掉这段代码就正常。 经过分析后得知 View的Vi…

python OrderedDict类(有序字典)

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 创建有序字典 import collectionsdic collections.OrderedDict() dic[k1] v1 dic[k2] v2 dic[k3] v3 print(dic)#输出&#xff1a;OrderedDict([(k1, v1), (…

Vatee万腾科技决策力的未来展望:开创数字化创新的新高度

随着科技不断演进&#xff0c;Vatee万腾的科技决策力在数字化创新领域展现出了强大的潜力和前瞻性。 Vatee万腾的科技决策力被视为数字化创新的引擎&#xff0c;为未来创新注入了新的动力。通过深刻的市场洞察和科学决策&#xff0c;Vatee万腾致力于推动数字化创新走向新的高度…

图论11-欧拉回路与欧拉路径+Hierholzer算法实现

文章目录 1 欧拉回路的概念2 欧拉回路的算法实现3 Hierholzer算法详解4 Hierholzer算法实现4.1 修改Graph&#xff0c;增加API4.2 Graph.java4.3 联通分量类4.4 欧拉回路类 1 欧拉回路的概念 2 欧拉回路的算法实现 private boolean hasEulerLoop(){CC cc new CC(G);if(cc.cou…

可视化 | 3D文字球状标签云

文章目录 &#x1f4da;改编点&#x1f4da;final 改编自echarts 3d词云&#xff08;指向滑动、拖动、缩放、点击、自转 &#xff09; &#x1f4da;改编点 背景透明&#xff1a;background:rgb(0,0,0,0);不用链接&#xff0c;用span&#xff0c;重点span标class"star&q…

2023年成为优秀自动化测试工程师的 7 个步骤!

“测试自动化测试工程师可以将你从充满代码的世界中拯救出来。”企业完全同意这一说法&#xff0c;这就是您在自动化测试行业中看到大量就业机会的原因。我在 Quora 上收到了很多与自动化测试中的职业选择相关的答案请求&#xff0c;以及人们如何在有或没有手动测试经验的情况下…

Pytorch从零开始实战09

Pytorch从零开始实战——YOLOv5-Backbone模块实现 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——YOLOv5-Backbone模块实现环境准备数据集模型选择开始训练可视化模型预测总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.…

PyBind11五分钟入门【Python/C++调用】

从 Python 调用 C 基本上有两种方法&#xff1a;使用 PyBind11 C 库生成 Python 模块&#xff0c;或使用 cytpes Python 包访问已编译的共享库。 使用 PyBind11 我们可以更轻松地共享许多数据类型&#xff0c;而使用 ctypes 是一种低级 C 风格的解决方案。 在线工具推荐&#x…

synchronized的原理和Callable接口

目录 ♫synchronized原理 ♪锁升级 ♪锁优化 ♫Callable接口 ♫synchronized原理 我们知道synchronized锁可以控制多个线程对共享资源的访问&#xff0c;两个线程针对同一变量访问就会产生阻塞等待。而synchronized锁并不是一成不变的&#xff0c;它会根据情况进行一次升级。…

MySQL---存储过程

存储过程的相关概念 是一组为了完成特定功能的sql语句的集合&#xff0c;类似于函数 写好了一个存储过程之后&#xff0c;我们可以像函数一样随时调用sql的集合。 复杂的&#xff0c;需要很多sql语句联合执行完成的任务 存储过程再执行上比sql语句的执行速度更快&#xff0c…