管理权限和角色1-系统权限

权限介绍
权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括系统权限和对象权限两种。

1.系统权限介绍
系统权限是指执行特定类型sql命令的权利,它用于控制用户可以执行的一个或是一组数据库操作。比如当用户具有create table权限时,可以在其方案中建表,当用户具有create any table权限时,可以在任何方案中建表。oracle提供了200多种的系统权限。

常用的有:
create session  连接数据库    create table    建表
create view    建视图        create public synonym    建同义词
create procedure  建过程、函数、包      create trigger  建触发器
create cluster    建簇


2.显示系统权限
oracle提供了200多种系统权限,而且oracle的版本越高,提供的系统权限就越多,我们可以查询数据字典视图system_privilege_map,可以显示所有系统权限。
select * from system_privilege_map order by name;


3.授予系统权限
一般情况,授予系统权限是由dba完成的,如果用其他用户来授予系统权限,则要求该用户必须具有grant any privilege的系统权限,在授予系统权限时,可以带有with admin option选项,这样,被授予权限的用户或是角色还可以将该系统权限授予其它的用户或是角色。

举例:
1.创建2个用户 ken,tom 初始阶段他们都没有任何权限,如果登陆就会给出错误的信息
create user ken identified by ken
其中identified by后面的是新建用户的密码

2.给用户ken授权
1)grant create session,create table to ken with admin option;
//with admin option的作用就是使得ken用户可以将系统权限create session和权限create table授予其它用户或是角色,但是其他权限能授予。
2)grant create view to ken;

3)给用户tom授权
我们可以通过ken给tom授权,因为with admin option是加上的,当然也可以通过ken给tom授权。


3.回收系统权限
一般情况下,回收系统权限是dba来完成的,如果其他用户来回收系统权限,要求该用户必须具有相应系统权限及传授系统的选项(with admin option).回收系统权限使用revoke来完成。
当回收了系统权限后,用户就不能执行乡音的操作了,但是请注意,系统权限级联收回问题!
system——————》ken———————》tom
(create session)   (create session)    (create session)
用system执行如下操作:
revoke create session from ken;

请思考 tom还能登陆吗?
答案:不是级联回收,所以tom还能登陆。






猜你喜欢

转载自1124117571.iteye.com/blog/2286261