登陆注册
31848700000018

第18章 数据库的保护(2)

(1)修改用户默认表空间和临时表空间

修改用户的默认表空间只影响将来建立的对象,以前建立的对象仍然存放在原来的表空间上,将来建立的对象放到新的默认表空间。

例8-5 修改JOHN用户的默认表空间和临时表空间。

SQL>ALTER USER JOHN

TEMPORARY TABLESPACE TEMP

DEFAULT TABLESPACE USERSDATA

(2)控制用户账号的锁定及重置口令

在下列情况下使用ALTER USER命令修改口令和账号锁定或解锁是很有用的:

当一个用户忘记口令时需要重置口令,或人工地将一个口令设置为到期;

将被系统锁定的用户账号解锁,或显式地锁定一个用户账号。

假如用户已经登录到Oracle数据库,此时修改口令、设口令到期及锁定口令都不会影响当前的会话,这些修改只对该用户后续的会话有效。

例8-6 将JOHN用户的口令修改并且将其口令设置为到期。

SQL>ALTER USER JOHN

IDENTIFIED BY HISGRANDPA

PASSWORD EXPIRE

假如口令到期,在登录SQL*Plus时将提示用户输入一个新口令。JOHN用户必须在下次登录时修改口令。

3.删除用户

使用DROP USER命令可以从数据库中删除一个用户。假如用户拥有对象,必须指定CASCADE关键字才能删除用户,否则返回一个错误。假如指定CASCADE关键字,Oracle先删除该用户所拥有的所有对象,然后删除该用户。

删除用户的语法如下:

DROP USER 用户名[CASCADE];

例8-7 删除JOHN用户及该用户的所有对象。

SQL>DROP USER JOHN CASCADE

注意:一个当前连接到Oracle服务器的用户是不能被删除的。

4.查询用户信息

用户的信息可以从数据字典视图DBAUSERS和USERUSERS中获得。USERUSERS只显示一行当前用户的信息,DBAUSERS显示所有用户的信息。普通用户只能查询USERUSERS数据字典,只有拥有DBA权限的用户才能查询DBAUSERS数据字典。从这两个视图中可以获得用户账号状态、口令到期的日期、账号锁定的日期(假如账号被锁定)、加密的口令、默认表空间和临时表空间、用户的建立日期等信息。

例8-8 JOHN用户在登录到数据库后,执行下列命令查询自己账号的信息。

SQL>SELECT USERNAME,DEFAULTTABLESPACE,TEMPORARYTABLESPACE,

ACCOUNTSTATUS,EXPIRYDATE

FROM USERUSERS;

8.1.2.2 权限的管理

数据库中的权限可以控制对数据的访问,以及限制用户可以执行的操作。通过授予用户合适的权限,权限决定了一个用户所能访问的数据。

Oracle有两种类型的权限:系统权限和对象权限。

允许用户在数据库上执行特定操作所需要的权限称为系统权限,这些操作包括建立、删除和修改表、视图、存储过程、触发器等。系统权限没有指定任何对象。有些系统权限的功能很强大,只应该授予给可信任的用户。

允许用户访问一个特定对象并对特定对象执行特定操作所需要的权限称为对象权限。对象权限指定操作的对象可以是表、视图、存储过程函数、包等对象。对象权限可以是针对数据的读、修改、删除、增加等权限,也可以是针对程序的执行权限,或者修改对象结构的权限等。

PUBLIC是一个数据库中定义的用户组,它既不是一个数据库用户,也不是一个角色。数据库中的每一个用户都属于这个组。假如将权限授予给PUBLIC,则数据库中所有用户都拥有此权限。

1.系统权限的管理

(1)系统权限的分类

系统权限可以划分成下列三类。

允许在系统范围内操作的权限。如:CREATE SESSION、CREATE TABLESPACE等与用户无关的权限。

允许在用户自己的账号内管理对象的权限。如:CREATE TABLE等建立、修改、删除指定对象的权限。

允许在任何用户账号内管理对象的权限。如:CREATE ANY TABLE等带ANY的权限。

例如:SELECT ANY TABLE权限给了用户查询数据库中所有用户的表或视图的权力。CREATE ANY TABLE权限允许用户在任何用户账号下建表。

注意:CREATE TABLE、CREATE PROCEDURE权限包含ALTER和DROP这些对象的权限;CREATE TABLE权限包含CREATE INDEX权限,所以没有单独的CREATE INDEX权限;为了TRUNCATE一张表,必须拥有DROP ANY TABLE权限;为了连接到数据库必须拥有CREATE SESSION权限。

(2)系统权限的授予

使用GRANT命令可以将系统权限授予给一个用户、角色或PUBLIC。WITH ADMIN OPTION从句授予了受权者将此权限再授予给另一个用户、角色或PUBLIC的权力。授予系统权限的语法如下:

GRANT{系统权限|角色}[,{系统权限|角色}]……

TO{用户|角色|PUBLIC}[,{用户|角色|PUBLIC}]……

[WITH ADMIN OPTION]

其中:

PUBLIC表示将系统权限授予给数据库下的所有用户;WITH ADMIN OPTION表示允许得到权限的用户进一步将这些权限或角色授予给其他的用户或角色。

注意:给角色授权时不能带WITH ADMIN OPTION从句。

例8-9 JOHN用户希望在scott模式下建立一张表,他需要拥有CREATE ANY TABLE权限。这个权限不仅允许JOHN在scott模式下建立一张表,而且允许在任何模式下建立一张表。

SQL>GRANT CREATE ANY TABLE TO JOHN;

例8-10 希望JOHN用户将建表权限再授予给别人,在给JOHN授权时必须带WITH ADMIN OPTION从句。

SQL>GRANT CREATE ANY TABLE TO JOHN WITH ADMIN OPTION

(3)系统权限的回收

使用REVOKE命令可以从用户或角色上回收系统权限。回收系统权限的语法如下:

REVOKE{系统权限|角色}[,{系统权限|角色}]……

FROM{用户名|角色|PUBLIC}[,{用户名|角色|PUBLIC}]……

注意:假如用户A被授予带WITH ADMIN OPTION从句的系统权限,并且将此系统权限授予用户B,当用户A的权限被回收时,用户B的权限仍然保留。

例8-11 从scott用户身上回收建表和建立会话的权限。

SQL>REVOKE CREATE TABLE,CREATE SESSION FROM scott

不管在权限授予时是否带WITH ADMIN OPTION从句,一个系统权限回收时没有级联影响。

DBA将CREATE TABLE系统权限授予给USER1,授权时带WITH ADMIN OPTION从句。

USER1建立一张表。

USER1将CREATE TABLE系统权限授予给scott用户。

scott用户建立一张表。

数据库管理员DBA从USER1身上回收CREATE TABLE系统权限。

结果为:USER1的表仍然存在,但USER1不能建立任何新表;scott用户仍然拥有表和CREATE TABLE系统权限。

(4)SYSDBA和SYSOPER权限

在第4章中已经提到了系统权限SYSDBA和SYSOPER。如果用户以SYSDBA权限连接到数据库(如:CONNECT/AS SYSDBA),就授予用户无限的权限,允许用户在数据库中执行任何操作,或者对数据库中的对象执行任何操作。

(5)查询系统权限信息

查询数据字典视图DBASYSPRIVS可显示数据库中所有用户或角色所拥有的系统权限,以及授予权限时是否带有WITH ADMIN OPTION从句。查询USERSYSPRIVS视图可显示当前用户所拥有的系统权限,以及授予权限时是否带有WITH ADMIN OPTION从句。

例8-12 查询所有用户或角色所拥有的系统权限。

SQL>SELECT*FROM DBASYSPRIVS

查询数据字典视图V$PWFILEUSERS可以了解所有被授予SYSDBA和SYSOPER系统权限的用户信息。SYSDBA列的值为TRUE时表示用户被授予SYSDBA系统权限,SYSOPER列的值为TRUE时表示用户被授予SYSOPER系统权限。

例8-13 查询拥有SYSDBA和SYSOPER系统权限的用户信息。

SQL>SELECT*FROM V$PWFILEUSERS

查询结果如下:

USERNAME SYSDBA SYSOPER

——

SYS TRUE TRUE

2.对象权限的管理

(1)对象权限的分类

对象权限是对一个特定对象进行操作所需要的权限。一个对象的拥有者拥有对对象的所有权限。对象拥有者可以将对象上的权限授予给数据库的其他用户。对每一类对象可以授予的对象权限可分为9类。对象不同,在此对象上可以操作的权限也不同。其中打“√”符号的表示该类对象上有这种操作权限,空表示该类对象上没有这种操作权限。

(2)对象权限的授予

授予对象权限的语法如下:

GRANT{对象权限[(列名1[,列名2……])]

[,对象权限[(列名1[,列名2……])]]……|ALL[PRIVILEGES]}

ON 对象名

TO{用户名|角色名|PUBLIC}[,{用户名|角色名|PUBLIC}]……

[WITH GRANT OPTION]

其中:

对象权限指需要被授予的对象权限。

列名1、2用于指定表或视图中的列名(只有在授予INSERT,REFERENCES,UPDATE权限时才能指定列名)。

ALL用于授予对象上的所有权限,并且带WITH GRANT OPTION从句。

ON 对象名用于指定被操作的对象名。

WITH GRANT OPTION用于允许受权者将对象权限授予其他用户或角色。给角色授权时不能带WITH GRANT OPTION从句。

例8-14 SYS用户将DBMSPIPE包上的执行权限授予给数据库中所有用户。

SQL>GRANT EXECUTE ON DBMSPIPE TO PUBLIC;

例8-15 USER1用户将emp表上ENAME、SAL列上的更新权限授予给scott用户,并且允许scott用户再将此更新权限授予给其他用户或角色。

SQL>GRANT UPDATE(ENAME,SAL)ON emp TO scott WITH GRANT OPTION;

注意:假如用户拥有一个对象,自动地获得了该对象的所有权限。对象拥有者可以将自己对象的操作权授予给别人。

同类推荐
  • 虚拟现实:下一个产业浪潮之巅(第2版)

    虚拟现实:下一个产业浪潮之巅(第2版)

    毫无疑问,虚拟现实时代已经来临,VR不仅将彻底改变人们交互的方式。而且会是互联网的下一个风口,VR会创造新时代,即由人的体验构成的互联网时代。目前,全球范围众多的科技、影视等商业巨头纷纷砸巨资押注VR产业。例如,扎克伯格越来越坚定地认为,VR将会成为下一代计算机平台;任正非在内部讲话中也提到,华为要保持理性地进行VR投入与研究,要在这个充满诱惑的领域里分得一杯羹,谁最后倒下,谁便赢得天下。本书是作者基于VR行业多年的研究以及创立VR公司的经验写成,目的是让读者快速、全面地了解VR产业最新、最重要的信息,如生态链、技术瓶颈、发展前景以及人才结构等,是一部不可多得的VR行业入门读物。
  • 网络知识

    网络知识

    一般地说,将分散的多台计算机、终端和外部设备用通信线路互联起来,彼此间实现互相通信,并且计算机的硬件、软件和数据资源大家都可以共同使用,实现资源共享的整个系统就是计算机网络。
  • 云计算、网络安全和网络盗窃:网络世界防盗初学指南

    云计算、网络安全和网络盗窃:网络世界防盗初学指南

    网络犯罪层出不穷,保护自己的安全,防止受到攻击,似乎是一个艰巨的任务。幸运的是,有一些人人都能采取的措施,可以降低成为网络袭击对象的风险。保证基于云计算程序的安全和降低被袭击的风险,关键在于理解云安全的共同责任。云提供商需要全力确保实施尽可能严格的安全策略。
  • 信息革命

    信息革命

    随着经济社会的快速发展,电子产品走进了千家万户,与电子产品相伴的信息技术也已渗透到人们生产生活的方方面面。加强信息技术普及,已成为业内人士的共识。鉴于此,在有关部门的大力支持下,经过认真筹划,我们编辑出版了《信息革命》一书。该书以时间为经,在记述信息技术发展历程的同时,深入浅出地介绍了信息技术的相关知识,对人们更好地利用现代信息技术服务经济社会建设和个人生产生活必将产生积极作用。本书由李大东主编。
热门推荐
  • 她不是傻白甜

    她不是傻白甜

    一个热血的文案:去年世界赛开始前,拿到LPL冠军的MLG战队选择了弃权。没有人知道,当初离大满贯只差一步之遥的MLG放弃世界赛的原因。如今少年们重头再来,仍满腔热血,满怀希望。只为有朝一日能够站上世界之巅,告诉所有人“我们来自LPL!”一个正经的文案:来自祖安的猎魔人阮珈言是个不折不扣的网瘾少女,人前乖巧人后暴躁。直到某一天遇见电竞圈的大神,并被大神泼了一身奶茶。不会跟女孩子相处的景朝发起了直男问题:“你也玩英雄联盟?”几乎不看比赛的阮珈言没能认出来。阮珈言:“莫非,你是......月神?”景朝:......人前乖巧的暴躁电竞少女与假装面瘫的英雄联盟战队队长。“我从来不惧怕网络上的那些喷子,因为他们都没有你骂我厉害。”一个沙雕小剧场:某天家里停电,两人在网吧相遇了。景朝在少女背后悄无声息的看了好几分钟的游戏画面。一直到阮珈言回家买装备时,看见电脑屏幕黑色反光处有个人头。她毛骨悚然的回过头,才发现面无表情的景朝。“你怎么在这里”“家里停电,你又怎么在这儿”“我妈用女孩子不能总是待在家里为借口把我赶出来了”“是吗,祖安的暴躁少女”
  • 放开这个外星人

    放开这个外星人

    在咱们这个地球上,生活着很多外星人。倪思远,一个普通大二大学生,搬出了寝室租房住。就在他开始租房生活那天,他从猫舍买回来的黑猫,竟然张嘴说了出了人话。脑子不太好使的萝莉外星人,一根筋的中央星区人外娘研究生,不忍心伤人的宇宙警备队女队长,极端任性的超级人工智能小女孩。地球防卫军神剑局,宇宙安保工会大眼巨龙,宇宙守护组织神圣武者。一个崭新的世界向他拉开了大门。
  • 高冷公主的美男部落

    高冷公主的美男部落

    她是全世界最受宠爱的高冷公主,她拥有所有女生都想要的容貌和身材,他们八个美男是她的未婚夫们,他们八个各种性格的美男一直在宠着这位高冷公主的她
  • 斗罗之终焉斗罗

    斗罗之终焉斗罗

    【新书《斗罗Ⅱ神之子》已发,新书也是终焉第二部】 叶羽,武魂由九心海棠变异的九灵黑棠,拥有的魂技,不仅有恐怖治疗,还有恐怖的力量增幅!当叶羽名震大陆时,九灵黑棠被认为已经超越天下第一武魂七宝琉璃塔,成为斗罗大陆最强辅助武魂!当人们觉得叶羽未来将成为斗罗大陆最强辅助魂师时,叶羽第二武魂不再隐藏。第二武魂的出现,代表着武魂殿的终焉即将来临。叶羽,被称为终焉斗罗!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 千棱镜

    千棱镜

    千万年来,千棱镜一直统率着六界,成为神界、仙界、魔界、妖界、人界、冥界六界的主宰,是使众界臣服的至高无上的最高神器,并号令仙界中其他九大神器,十大神器成为合力,世世代代守护着仙境的最高山——千棱山,六界为了争夺千棱镜掀起了腥风血雨......“我想不明白,你到底哪一点比得上我?师父为什么这样偏心?你有什么资格做千棱之王?为什么?为什么......”“高贵的红霞公主,如今你惨败在你平日里你最不屑,最看不起的我的手里,又跪倒在我的脚下求我,你现在的心情如何啊?哈哈哈......”“快把东西交出来!不然明年的今天就是你的祭日!”“我的傻女儿,汪大志已经死啦!死啦!你这又是何苦呢?你为了他,难道就连父王你也忍心不要了吗?!”
  • 窈窕奶爸

    窈窕奶爸

    盛家七代独苗盛僮,带点狡黠带点腹黑,整人伎俩恐怖至极。七天吓走十二位保姆,一时闻名。盛爸爸百般无奈,找来第十三位保姆,不,奶爸,以求家宅平安。可是,谁能告诉他,为什么可恨奶爸会在一夜之间长出了胸部?接着居然说,我是你妈?
  • 断崖冥府

    断崖冥府

    断崖冥府是坐落在一个名副其实的万丈深渊的断崖之下,断崖冥府的创始人是四个段家兄妹,这兄妹四人被当时江湖赫赫有名的杀手组织黑色骑士,灭家毁族,全族上下七百多人,一夜之间就只有他们十几个人了,可惜敌人还是穷追不舍,直到兄妹四人的大哥失足跌落悬崖,剩下的兄妹三人,看大哥生死不知也决定生死相随,奉命保护几人的护卫,见主子身死也随后跳下断崖,十年之后物是人非,江湖依旧,断崖来客己非客,十年之后,兄妹四人犹如杀神降临,将当时下令诛杀他们的伯父一家一一杀死,就连那个当时就已经赫赫有名的杀手组织也是被他们一夜之间杀的,没有一个会喘气的!等第二天官府的衙差发现,他们所在的案发现场己经整个是鲜血成河了。更诡异的是死了的人,他们的头都不是自己的,而是被搁下之后又胡乱的放在了死者脖子上,而正厅的墙壁上用漂亮的草书写着四个气势磅礴的大字,断崖冥府,之后江湖中好似突然就出现了一个庞大的门派,庞大的几乎无人可以撼动它的地位,这门派的掌舵人这是当年跌落悬崖的段家大哥,段奕飞,段奕飞当年虽然掉落悬崖受了重伤,可他还是,拖着受伤的身体救下了弟妹,
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 冷少,你的桃花开了

    冷少,你的桃花开了

    “检查?做什么检查?”霍丝丝一觉醒来,不仅被窝里多了个男人,还要被一群人押着去做检查。“当然是……”男人勾唇一笑,“查一下你肚子里怀的是我儿子还是女儿。”