设为首页 加入收藏

TOP

实验理解ADMINOPTION和GRANTOPTION的用法
2015-07-24 10:55:52 来源: 作者: 【 】 浏览:1
Tags:实验 理解 ADMINOPTION GRANTOPTION 用法

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

一、ADMIN OPTION参数

实验:

1. 创建测试用户user_a和user_b

\

2. 默认情况下,user_<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxzdHJvbmc+YbrNdXNlcl9iysfDu9PQvaix7cioz948L3N0cm9uZz6jujxicj4KPC9wPgo8cD48aW1nIHNyYz0="https://www.cppentry.com/upload_files/article/57/1_vxil9__.png" alt="\">

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。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇proxool数据库连接池配置 下一篇Onsctl配置ONS服务(10G)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)