ITPub博客

首页 > 数据库 > Oracle > 实验理解ADMIN OPTION和GRANT OPTION的用法

实验理解ADMIN OPTION和GRANT OPTION的用法

原创 Oracle 作者:bisal 时间:2014-11-24 09:14:37 1 删除 编辑

使用GRANT赋予用户权限的时候通常有ADMIN OPTION和GRANT OPTION这两个OPTION。下面使用简单的实验来体会下这两种授权的用途。


一、ADMIN OPTION参数

实验:

1. 创建测试用户user_a和user_b:


2. 默认情况下,user_a和user_b是没有建表权限:


3. SYS账户GRANT CREATE TABLE权限给user_a,但user_a则是没有权限授予user_b建表权限:


4. SYS账户GRANT CREATE TABLE权限给user_a,同时带上WITH ADMIN OPTION,此时user_a可以授予user_b建表权限:


5. SYS账户收回user_a的CREATE TABLE权限:


6. 此时user_b仍可具有CREATE TABLE权限,尽管这里报错:

注:这个错是说user_b没有默认表空间USERS的使用权限,并不是没有建表权限,此时需要SYS账户使用GRANT UNLIMITED TABLESPACE TO user_b或ALTER USER user_b quota 100m on USERS让user_b用户可以使用USERS表空间:


总结:

1. 带有WITH ADMIN OPTION的权限授予方式,可传递授权。

2. 带有WITH ADMIN OPTION的权限授予方式,当使用REVOKE收回权限时,传递的授权并不会自动收回。

3. ADMIN OPTION用于系统权限,system privilege,例如CREATE TABLE。


二、GRANT OPTION

实验:

1. 授予user_a和user_b创建session的权限,但用user_a查询dcsopen的t1表时提示无此权限:


2. SYS账户使用WITH GRANT OPTION授予user_a查询dcsopen.t1表权限:

此时user_a可以查询表:


3. 使用user_a授予user_b查询dcsopen.t1表权限:


4. SYS账户收回user_a的查询dcsopen.t1表的权限:


5. 使用user_b用户查询dcsopen.t1表时提示无权限:


总结:

1. 使用WITH GRANT OPTION的权限授予方式,可传递授权。

2. 使用WITH GRANT OPTION的权限授予方式,当使用REVOKE收回权限时,传递的授权会自动收回。

3. GRANT OPTION用于对象权限,object privilege,例如SELECT ON TABLE。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7192724/viewspace-1344019/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE,10g/11g OCP,11g OCM,国内首批Oracle YEP成员(Oracle Young Expert Program,Oracle用户组年轻专家项目),EXIN DevOps Master,Oracle爱好者,微信公众号:bisal的个人杂货铺

注册时间:2022-06-21

  • 博文量
    539
  • 访问量
    2801225