oracle权限一则

简介:

oracle的权限分为系统权限与对像权限两种.系统权限主要用于数据库的管理任务,权利比较大,
而对像权限主要用于数据库内的对像,如表等。这里只记录授权与回收的SQL方法。
系统权限授权:grant create session/dba to a [with admin option];
对像权限授权:grant select on sys.anran to a [with grant option];

这里有两个选项with admin option/with grant option,其实功能差不多,只是一个用在系统
权限授权,另一个用在对像权限授权。带有这两种选择的grantee(被授权者)有授予其他人该权限的
能力。

需要什么权限才可以给别授权呢?前面是一种情况,带有with admin option/with grant option选项的grantee.

还有一种情况是:对于系统权限来说拥有GRANT ANY PRIVILEGE权限的grantee(如果是授予角色[grant
 a_role to a],则是拥有GRANT ANY ROLE权限的grantee,这里可以把角色理解为一种系统权限的)有权grant。
对于对像权限来说是拥有GRANT ANY OBJECT PRIVILEGE权限的grantee。
系统权限回收:revoke create session from a;
对像权限回收:revoke select on sys.anran from a;

语法基本相同,但revoke在回收系统权限时没有cascade功能,而收回对像权限时却是一插到底。
比如:a授权给用户b系统权限带有with admin option,b又授权给用户c该权限,当用户a从用户b收回权限时,
并不会收回用户c的权限,有点覆水难收的意思,但如果是对像权限却会回收C的权根.

需要什么权限才可以收回权限呢?对于系统权限带有with admin option选项的grantee,当然可以,无论权限
是否是他亲自授予。但拥有GRANT ANY PRIVILEGE权限的人却没有这个能力。但有一个例外拥有GRANT ANY ROLE 权限的人可以revoke any role。

对于对像权限带有with grant option选项的grantee,当然可以,但是权限必须是他亲自授予的。另外拥有 
GRANT ANY OBJECT PRIVILEGE 权限的grantee也具有此能力。

哎呀,真够头大的。


本文转自 anranran 51CTO博客,原文链接:http://blog.51cto.com/guojuanjun/380283


相关文章
|
Oracle 安全 关系型数据库
|
SQL Oracle 关系型数据库
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理
261 1
|
SQL Oracle 关系型数据库
9-7 Oracle如何管理权限和角色
9-7 Oracle如何管理权限和角色
416 0
|
存储 SQL Oracle
Oracle-PROCEDURE权限解读
Oracle-PROCEDURE权限解读
430 0
|
Oracle 关系型数据库 Linux
如果oracle用户下的$ORACLE_HOME bin oracle文件的属主或权限出了问题,那么该如何修复呢?
如果oracle用户下的$ORACLE_HOME bin oracle文件的属主或权限出了问题,那么该如何修复呢?
589 1
|
Oracle 安全 关系型数据库
数据库安全防护之oracle创建用户分配权限
谈到数据库安全防护设置oracle数据库的权限系统分为系统权限与对象权限。
267 0
数据库安全防护之oracle创建用户分配权限

热门文章

最新文章

推荐镜像

更多