1. with admin option

with admin option的意思是被授予该权限的用户有权将某个权限(如create any table)授予其他用户或角色, 取消是不级联的 。

如授予A系统权限create session with admin option,然后A又把create session权限授予B,但管理员收回A的create session权限时,B依然拥有create session的权限。但管理员可以显式收回B create session的权限,即直接revoke create session from B.

eg:

sys@TEST0924> create user SKD identified by SKD;

User created.

sys@TEST0924> grant connect,resource to SKD;

Grant succeeded.

sys@TEST0924> create role MGR_ROLE;

Role created.

sys@TEST0924> grant create role to MGR_ROLE;

Grant succeeded.

sys@TEST0924> grant create user to MGR_ROLE;

Grant succeeded.

sys@TEST0924> grant select any table to MGR_ROLE;

Grant succeeded.

查dba_sys_privs、dba_role_privs,dba_tab_privs三个视图看用户到底有哪些权限

sys@TEST0924>select * fromdba_role_privs where  grantee='MGR_ROLE';

no rows selected

sys@TEST0924> select * fromrole_sys_privs where role='MGR_ROLE';

ROLE                          PRIVILEGE                              ADM

---------------------------------------------------------------------- ---

MGR_ROLE                      SELECT ANY TABLE                        NO

MGR_ROLE                      CREATE ROLE                            NO

MGR_ROLE                      CREATE USER                            NO

sys@TEST0924> select * fromrole_tab_privs where role='MGR_ROLE';

no rows selected

WITH ADMINOPTION的意思是被授予该权限的用户有权将某个权限(如MGR_ROLE)授予其他用户或角色,取消是不级联的。

sys@TEST0924> GRANT MGR_ROLE TO SKDWITH ADMIN OPTION;

Grant succeeded.

sys@TEST0924> create user user1identified by test1;

User created.

sys@TEST0924> grant create session touser1;

Grant succeeded.

skd@TEST0924> grant MGR_ROLE to user1;

Grant succeeded.

skd@TEST0924> grant create user to user1;

grant create user to user1

*

ERROR at line 1:

ORA-01031: insufficient privileges

2. with grant option

with grant option的意思是:权限赋予/取消是级联的,如将with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT ON TABLE 权限。

eg:

1、hr将DML操作emp表的权限给scott,并且scott有传递权限。

hr@TEST0910> grant select,insert,updateon employees to scott with grant option;

Grant succeeded.

hr@TEST0910> conn /as sysdba

Connected.

sys@TEST0910> create user jimidentified by jim;

User created.

2、scott将此权限传递给jim。

sys@TEST0910> conn scott/tiger

Connected.

scott@TEST0910> grantselect,insert,update on hr.employees to jim;

Grant succeeded.

3、hr想将jim的权限收回,出错。

scott@TEST0910> conn hr/hr

Connected.

hr@TEST0910> revokeselect,insert,update on employees from jim;

revoke select,insert,update on employeesfrom jim

*

ERROR at line 1:

ORA-01927: cannot REVOKE privileges you did not grant

4、DBA将连接数据库权限给jim,jim登陆,可以访问hr的表。

hr@TEST0910> conn jim/jim

ERROR:

ORA-01045: user JIM lacks CREATE SESSIONprivilege; logon denied

Warning: You are no longer connected toORACLE.

hr@TEST0910> conn /as sysdba

Connected.

sys@TEST0910> grant create session to jim;

Grant succeeded.

sys@TEST0910> conn jim/jim

Connected.

jim@TEST0910> select * fromhr.employees;

EMPLOYEE_IDFIRST_NAME          LAST_NAME                EMAIL

----------- --------------------------------------------- -------------------------

PHONE_NUMBER        HIRE_DATE JOB_ID         SALARYCOMMISSION_PCT MANAGER_ID DEPARTMENT_ID

-------------------- --------- -------------------- -------------- ---------- -------------

198Donald              OConnell                 DOCONNEL

650.507.9833        21-JUN-07 SH_CLERK        2600

5、当hr把DML操作emp表操作的权限从scott收回后,jim无法访问hr的表了。

jim@TEST0910> conn hr/hr

Connected.

hr@TEST0910> revokeselect,insert,update on employees from scott;

Revoke succeeded.

hr@TEST0910> conn jim/jim

Connected.

jim@TEST0910> select * fromhr.employees;

select * from hr.employees

*

ERROR at line 1:

ORA-00942: table or view does not exist

参考:https://blog.csdn.net/fjseryi/article/details/51161129

oracle权限with admin option和with grant option的用法相关推荐

  1. ORACLE权限关于with admin option和with grant option的用法

    原文链接:点击打开链接 ORACLE权限关于with admin option和with grant option的用法,希望对大家有帮助! with admin option是用在系统权限上的,wi ...

  2. oracle授权with,ORACLE权限关于with admin option和with grant option的用法

    权限关于with admin option和with grant option的用法,希望对大家有帮助! with admin option是用在系统权限上的,with grant option是用在 ...

  3. oracle授权时“with admin option”与“with grant option”的区别

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47445625 本文出自[我是干勾鱼的博客] 虽然"授人以鱼,不如授之以 ...

  4. with admin option 与with grant option 的区别

    with admin option 与with grant option 的区别 目录 1.with admin option 用于系统权限授权,with grant option 用于对象授权. 2 ...

  5. with admin option和with grant option的区别

    with admin option和with grant option的区别   1.with admin option 用于系统权限授权,with grant option 用于对象授权. 2.给一 ...

  6. oracle级联赋权,Oracle 级联with admin option 和 with grant option

    · 授权通过grant 语法:GRANT object_priv[(columns)][ON object] TO {user|role|public} [WITH GRANT OPTION] · 回 ...

  7. Oracle视图授权(with grant option)

    模拟如下 create user a identified by a; create user b identified by b; create user c identified by c; gr ...

  8. oracle 权限 策略,Oracle学习笔记(14)权限管理(

    权限管理 1.Oracle两类型的用户权限: System 使用户在数据库中完成部分行为 Object 使用户接触和操作一个特定的数据对象.只有owner(Object Schema才能授权) 2.系 ...

  9. Oracle 权限详解(grant,revoke)

    文章目录 1 概述 2 分类 2.1 系统权限 2.2 对象权限 2.3 角色权限 3 示例 3.1 权限回收 3.2 权限传递 1 概述 1. Oracle 权限管理是十分严格的,这也是 Oracl ...

最新文章

  1. php 正则教程,最通俗易懂的php正则表达式教程(上)
  2. DB2中导出数据库的所有DDL脚本
  3. 【讲●解】KMP算法
  4. Effective Java~46. 优先选择Stream 中无副作用的函数
  5. 将Tomcat集成到IDEA
  6. 面试北京XX数通总结
  7. Python中的numpy.ones()
  8. CUDA 和 GPU
  9. 分布式唯一id生成器的想法
  10. 可以使用C#语言的在线ACM题库
  11. 免费的18个开源快速建站Java CMS
  12. ubuntu20.04下内核源码下载分析
  13. 阿里巴巴 Alibaba
  14. 白狐微信公众号编辑器CMS系统源码
  15. php批量给文件添加头部版权,给代码添加版权信息
  16. 计算机word安装程序,word2007电脑版安装包
  17. CVPR 2022缅怀孙剑!同济、阿里获最佳学生论文奖,何恺明入围
  18. 【Python】【技能树评测】技巧实例-说明改进和实践【02】 - 类的初始化和初始化参数
  19. 微信小程序开发常见问题FAQ之五
  20. 联通的无限流量套餐,比移动好很多

热门文章

  1. uml的用例图中扩展关系与包含关系
  2. 5G技术即将到来,5G网络的基本特点和应用你了解了多少
  3. Mobaxterm终端工具和Neokylin7基础
  4. ubuntu永中office的快捷键
  5. mysql忘记密码win10,如何巧妙解决处理深度技术Win10系统忘记Mysql密码
  6. [置顶]Ceph源码解析:PG peering
  7. 在写CSDN的文章时,如何插入表格并进行简单的配置
  8. Keil AC5/Keil AC6/IAR指定数据绝对存储地址
  9. R语言可视化散点图、ggrepel包的geom_text_repel函数避免数据点之间的标签互相重叠(设置segment.square为假以获得斜曲线,segment.inflect设置为真以引入拐点
  10. ADAM : A METHOD FOR STOCHASTIC OPTIMIZATION