`
cenhonggang86830
  • 浏览: 45499 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

【转载】权限

阅读更多
一、概述

这一部分我们主要看看Oracle如何管理权限和角色,权限和角色的区别在哪里。

当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种特定的数据库操作,则必须为其授予系统的权限。如果用户要访问其他方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色。这里我们会详细介绍。

  

二、权限

权限是指执行特定类型的Sql命令或是访问其他方案对象的权利,包括系统权限和对象权限。

1、系统权限

A、系统权限的介绍

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

常用的有

create session
连接数据库

create view
创建视图

create procedure
创建过程、函数、包

create cluster
建簇

create table
创建表

create public synonym
创建同义词

create trigger
创建触发器


  

B、显示系统权限

Oracle提供了100多种系统权限,而且Oracle的版本越高,提供的系统权限就越多,我们可以查询数据字典视图system_privilege_map,可以显示所有系统权限。

sql>select * from system_privilege_map order by name;

  

三、授予系统权限

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

案例:

1、创建两个用户ken,tom,初始阶段他们没有任何权限,如果登录就会给出错误信息。

sql>create user ken identified by m123;

sql>create user tom identified by m123;

  

2、给用户ken授权

sql>grant create session,create table to ken with admin option;

sql>grant create view to ken;

  

3、给用户tom授权

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

sql>grant create session,create table to tom with admin option;

sql>grant create view to tom;——这个是不可以的,因为Ken没有该权限的下放权限。

  

四、回收系统权限

一般情况下,回收系统权限是dba来完成的,如果其他的用户来回收系统权限,要求该用户必须具有相应系统权限及转授系统权限的选项(with admin option)。回收系统权限使用revoke来完成。

当回收了系统权限后,用户就不能执行相应的操作了,但是请注意,系统权限不是级联回收的。

执行以下语句:

sql>revoke create session from ken;

说明:DBA执行了该语句后回收了Ken的登录权限后,Ken自然就不能再登录了,有Ken下放的该权限所有者tom还是可以正常登录的。

  

五、对象权限

指访问其他方案对象的权利,用户可以直接访问自己方案的对象。但是如果要访问别的方案的对象,则必须具有对象的权限。比如Smith用户要访问scott.emp表(scott:方案,emp:表),则必须在scott.emp表上具有对象的权限。

常用的有:

alter
修改表结构

delete
删除数据

select
查询数据

insert
添加数据

update
修改数据

index
在表上建立索引

references
引用

execute
执行


  

1、显示对象权限

通过数据字典视图可以显示用户或是角色所具有的对象权限。视图为dba_tab_privs

sql>select distinct privilege from dba_tab_privs;

sql>select grantor,owner,table_name,privilege from dba_tab_privs where grantee='Black';

  

2、传授对象权限

对象权限可以授予用户、角色和public。在授予对象权限是,如果带有with grant option选项,则可以将该权限转授给其他用户,但是要注意with grant option选项不能被授予角色。

1、monkey用户要操作scott.emp表,则必须授予相应的对象权限

希望monkey可以查询scott.emp表的数据,怎么操作

sql>grant select on emp to monkey;

希望monkey可以修改scott.emp表的数据,怎么操作

sql>grant update on emp to monkey;

希望monkey可以删除scott,emp表的数据,怎么操作

sql>grant delete on emp to monkey;

有没有更加简单的方法,一次吧所有的权限赋给monkey

sql>grant all on emp to monkey;

  

2、能否对monkey访问权限更加精细控制。(授予列权限)

希望monkey只可以修改scott.emp的表的sal字段,怎样操作

sql>grant update on emp(sal) to monkey;

希望monkey只可查询scott.emp的表的ename,sal数据,怎样操作

sql>grant select on emp(ename,sal) to monkey;

  

3、授予alter权限

如果monkey用户要修改scott.emp表的结构,则必须授予alter对象权限

sql>grant alter on emp to monkey;

当然也可以用sys,system来完成这件事。

  

4、授予execute权限

如果用户想要执行其他方案的包/过程/函数,则需要有execute权限。

比如为了让Ken可以执行包abms_transaction,可以授予execute权限。

sql>grant execute on dbms_transaction to ken;

  

5、授予index权限

如果想要在别的方案的表上建立索引,则必须要具有index对象权限

如为了让Ken可以在scott.emp表上建立索引,就给其index的对象权限

sql>grant index on scott.emp to ken;

  

6、使用with grant option选项

该选项用于传授对象权限,但是该选项只能被授予用户,而不能授予角色。

sql>grant select on emp to ken with grant option;

  

7、回收对象权限

在Oracle中,收回对象的权限可以由对象的所有者来完成。

这里要说明的是:收回对象权限后,用户就不能执行相应的sql命令,但是要注意的是对象的权限是会被级联回收的。

sql>revoke select on emp from ken;

说明:Scott执行了该语句后,就回收了Ken用户在emp表上查询权限,因此此时ken已经不能对scott.emp进行查询操作了。于此同时也收回了ken转授下去的该权限,有ken授予的对scott.emp表查询的权限的获得者也不能对scott.emp进行查询操作了。

分享到:
评论

相关推荐

    同步文章到百度空间插件 for WordPress.rar

    支持选择发布到百度空间中文章的转载权限。 4。支持将Wordpress中文章链接发布到百度空间,并可选原文链接显示的位置。 Version 1.0 不支持功能 1。不支持将Wordpress中私密(private)文章发布到百度空间。 2。不...

    同步文章到百度空间插件

    支持选择发布到百度空间中文章的转载权限。 4。支持将Wordpress中文章链接发布到百度空间,并可选原文链接显示的位置。 Version 1.0 不支持功能 1。不支持将Wordpress中私密(private)文章发布到百度空间。 2。不...

    CRM 权限控制---转载。

    ### CRM权限控制——深入解析与应用 #### 一、权限管理概述 权限管理是信息安全领域的一个重要组成部分,它涉及到组织内部资源的访问控制机制。在CRM系统中,权限管理尤为重要,因为它直接影响到业务流程的执行...

    WordPress同步发布到百度空间的插件WP2HiBaidu

    3.支持选择发布到百度空间中文章的转载权限。 4.支持将Wordpress中文章链接发布到百度空间,并可选原文链接显示的位置。 Version 1.0 不支持功能 1.不支持将Wordpress中私密(private)文章发布到百度空间。 2.不支持...

    【教师网络空间攻略】教师网络学习空间创建活动新指标说明.pdf

    教师应鼓励这些行为,例如,在发布文章时开放评论和转载权限,以增强内容的传播力。 - **师生互动**:教师可以通过"我的班级"发布班级通知,或使用"人人通空间"APP进行即时通讯,如发布班级通知和组织班级讨论,...

    转载:Android中如何修改系统时间(应用程序获得系统权限)

    在Android系统中,修改系统时间通常涉及到系统的敏感权限,因为这可能会影响到系统及应用的正常运行。本篇文章将深入探讨如何在Android应用程序中获取修改系统时间的权限,并提供相关源码分析。 首先,我们需要理解...

    A STUDENT PLANNING GUIDE TO GRAD SCHOOL AND BEYOND

    - 请求转载权限需联系国家科学院出版社。 **出版信息:** - **书名**:《科学与工程职业:研究生学习及其以后的学生规划指南》 - **出版社**:国家科学院出版社 - **出版年份**:1996年 - **ISBN**:0-309-52191-2 ...

    2020-L1V3.pdf

    文档还提到了版权保护涵盖的材料,包括专为本卷编写的材料以及整个卷宗的编排,并指出其中一些内容首次出现在其他地方,CFA协会已为本版次获得转载权限,但任何通过电子或机械手段的进一步复制,包括复印和录音,...

    解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题

    1)进入存放jdk文件的文件夹路径 我这里是 usr/local/jdk/ 2)输入命令 chmod 777 jdk1.8.0_221/bin/java修改权限 ...如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢! 您可能感兴趣的文章:centos

    QQ空间相册如何禁止别人转载和分享照片?.docx

    7. 相册权限的重要性:设置相册权限是保护照片免受他人转载和分享的重要步骤,用户应该根据自己的需求设置适当的权限,以确保照片的安全。 8. QQ空间的隐私保护:QQ空间提供了多种隐私保护功能,包括相册权限设置、...

    android 1.6全部的权限介绍

    Manifest.permission 这个类定义了android全部的权限共106个 我们在 AndroidManifest.xml里需要对一些软件需要的操作做一些权限的声明, 比如我们的软件有发送短信的功能,...转载请注明来自 blog.csdn.net/kome2000

    解析WindowsXP操作系统中的帐户和权限功能

    Windows XP作为一款由微软公司开发的操作系统,相较于其前身Windows 9x系列,引入了更为精细的账户管理和权限控制机制,这主要得益于其基于Windows NT内核的技术架构。 #### 权限与权利:理解基本概念 在Windows...

    如何一键转载好文章到QQ空间.docx

    3. **日志权限**:默认权限为公开,即所有人都可以查看这篇日志,用户也可根据需要调整为仅好友可见或其他权限设置。 4. **完成转载**:确认所有信息无误后,点击“转载到我的空间”按钮即可完成转载过程。 ##### ...

    传感技术中的东风悦达千里马冷却液温度传感器检测

    但是,根据描述,数据可通过维库电子市场网(***)获取,并且已获得来源ks99的转载权限。这意味着在进行东风悦达千里马冷却液温度传感器检测时,技术人员需要参考相关网站提供的数据,按照传感器制造商或车辆制造商...

    转载使用许可协议范本精选.doc

    【转载使用许可协议范本精选】是一份详细规定了甲方(受权方)与乙方(获受权方)之间关于作品使用权限的法律文件。该协议适用于通过特定平台(未在内容中具体提及,标记为_____________)进行的授权交易。以下是...

    转载路由器RG-100A密码破解工具

    转载路由器RG-100A密码破解工具,主要用于获取密码权限

    【转载】oracle创建数据库后创建自己的用户

    在Oracle数据库系统中,创建一个新数据库是数据库管理员(DBA)进行的初始任务,而之后为不同用户分配权限和资源则是确保系统安全和高效运行的关键步骤。以下将详细解释如何在Oracle数据库创建后创建自己的用户,...

    指针 突破 (转载他人,是指针解说的精华)

    《指针突破:C语言指针详解》 在深入探讨UCOS II操作系统时,掌握指针的精髓至关重要,因为指针在系统级编程中扮演着核心角色。本文将通过刘值攻的笔记,全面解析C语言中的指针,帮助读者理解和运用这一关键概念。...

    转载vmware转换成hyper-v的几个方法

    转载 VMware 转换成 Hyper-V 的几个方法 本文将详细介绍将 VMware 转换成 Hyper-V 的几个方法,包括使用 VMDK to VHD Converter 转换虚拟硬盘、使用 VMware 管理的虚拟机转换成 Hyper-V 管理等方法。同时,本文还将...

Global site tag (gtag.js) - Google Analytics