管理权限Word下载.docx

上传人:b****4 文档编号:16638509 上传时间:2022-11-25 格式:DOCX 页数:11 大小:18.15KB
下载 相关 举报
管理权限Word下载.docx_第1页
第1页 / 共11页
管理权限Word下载.docx_第2页
第2页 / 共11页
管理权限Word下载.docx_第3页
第3页 / 共11页
管理权限Word下载.docx_第4页
第4页 / 共11页
管理权限Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

管理权限Word下载.docx

《管理权限Word下载.docx》由会员分享,可在线阅读,更多相关《管理权限Word下载.docx(11页珍藏版)》请在冰豆网上搜索。

管理权限Word下载.docx

在任何模式中创建表。

5.DROPANYTABLE:

删除任何模式中所创建的表。

6.ALTERANYTABLE:

修改任何模式中所创建的表。

7.CREATETABLE:

在用户自己的模式中创建表。

有关表空间的系统权限:

1.CREATETABLESPACE:

创建表空间的权限。

2.DROPTABLESPACE:

删除表空间的权限。

3.ALTERTABLESPACE:

修改表空间的权限。

4.UNLIMITEDTABLESPACE:

使用全部表空的权限。

有关索引的系统权限:

1.CREATEANYINDEX:

在任何模式中创建索引的权限。

2.DROPANYINDEX:

在任何模式中删除索引的权限。

3.ALTERANYINDEX:

在任何模式中个性索引的权限。

有关会话的系统的权限:

1.CREATESESSION:

连接数据库的权限。

2.ALTERSESSION:

发ALTERSESSION语句的权限。

其他的系统权限:

1.CREATEVIEW:

在用户自己的模式中创建视图的权限。

2.CREATESEQUENCE:

在用户自己的模式中创建序列号的权限。

3.CREATEPROCEDURE:

在用户自己的模式中创建过程的权限。

授予系统权限:

首先让我们以system用户连接至数据库,因为只有具备数据库管理员的用户才能授/驳系统权限。

SQL>

connsystem/mcl

已连接。

createuserdog

2identifiedbywangwang;

用户已创建。

createusercat

2identifiedbymiaomiao;

createuserpig

2identifiedbyhengheng;

createuserfox

2identifiedbyloveyou;

我们创建了一些用户为我们下面的实验做准备:

我们用CAT用户登录数据库,让我们来看看结果:

connectcat/miaomiao

ERROR:

ORA-01045:

userCATlacksCREATESESSIONprivilege;

logondenied

警告:

您不再连接到ORACLE。

结果显示CAT用户无法连接至数据库,因为这时CAT用户还没有任何权限,而登录数据库必须要有一个CREATESESSION这个系统权限。

grantcreatesession,selectanytable,createtable,createview

2tocat;

授权成功。

这时我们发现CAT用户已经可以连接至数据库。

CAT用户现在想将CREATESESSION,SELECTANYTABLE权限(一部分好处)分给它的狗友。

grantcreatesessionselectanytabletodog;

grantcreatesessionselectanytabletodog

*

第1行出现错误:

ORA-00990:

权限缺失或无效

我们发现CAT用户不能把“自己的好处”分配狗友,为了帮助CAT用户完成这件事,我们要在授权语句后加入WITHADMINOPTION。

2tocatwithadminoption;

select*fromdba_sys_privs

2wheregrantee='

CAT'

;

GRANTEEPRIVILEGEADM

-------------------------------------------------------------------------

CATCREATEVIEWYES

CATCREATETABLEYES

CATCREATESESSIONYES

CATSELECTANYTABLEYES

这时再让CAT用户把“自己的好处”给狗狗:

conncat/miaomiao

2todogwithadminoption;

这是我们发现CAT用户可以把自己的权限授予DOG用户,同时还允许狗狗把得到的权限再授予其它用户(WITHADMINOPTION)。

connectdog/wangwang

2tofoxwithadminoption;

我们知道狗和猪不相容,因为在十二生肖排位中,狗黑了小猪“一刀“,为了补自己的过失狗狗要把自己的权限给小猪一些,但是不允许小猪将这些权限授予其它用户。

2topig;

为了我们管理权限方便,这时我们需要查看一下所授予的权限和用户是否正确。

connectsystem/mcl

select*

2fromdba_sys_privs

3wheregranteein('

'

DOG'

FOX'

PIG'

);

DOGCREATEVIEWYES

DOGCREATETABLEYES

DOGCREATESESSIONYES

DOGSELECTANYTABLEYES

FOXCREATEVIEWYES

FOXCREATETABLEYES

FOXCREATESESSIONYES

FOXSELECTANYTABLEYES

PIGCREATEVIEWNO

PIGCREATETABLENO

PIGCREATESESSIONNO

PIGSELECTANYTABLENO

已选择16行。

回收系统权限:

Revoke{系统权限|角色名},[,{系统权限|角色名}]

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

revokecreateviewfromcat;

撤销成功。

我们来查看一下CAT的CREATEVIEW权限是否已经被回收:

select*

3wheregrantee='

我们知道CAT用户把CREATEVIEW授予了DOG,那CAT用户的这个CREATEVIEW权限被收回是否回影响到DOG用户呢?

我们来看看:

3wheregranteein('

已选择12行。

我们看到除CAT大哥以外其它三个用户的系统权限仍然为原来的四个并不受CAT用户系统权限被回收的任何影响。

此时尽管猫大哥已经被降职,但是它的狐朋狗友,连同狐朋狗友的难兄难弟却依然大权在握。

即系统权限的回收不是级连的。

只有DBA用户可以查看其它用户权限,而当前用户只能查看自己的权限:

connectfox/loveyou

select*fromsession_privs;

PRIVILEGE

----------------------------------------

CREATESESSION

CREATETABLE

SELECTANYTABLE

CREATEVIEW

这时FOX用户想偷偷的把CAT用户的CREATESESSION权限驳回,我们看看它能不能够做到:

revokecreatesessionfromcat;

这是我们发现FOX确定做到了,那让我们来检验一下:

已选择14行。

注意:

在赋予用户系统权限时要非常谨慎,特别是使用WITHADMINOPTION子句时。

在赋予用户系统权限时要使用最小化原则,即赋予用户的权限越小越好,只要够用就行,权力一定要牢牢地握在自己人手里,就像咱们的“千古一帝”,康熙大帝一样做到:

“春蚕到死丝方尽”,不死不放权。

这样才能真正有效地控制系统的安全。

对象权限:

EXECUTE

ALTER

SELECT

INSERT

UPDATE

DELETE

INDEX

REFERENCES

让我们来试试对象权限的授权和回收:

GRANT对象的权限|ALL[(列名[,列名…])]

ON对象名

TO[用户名|角色名|PUBLIC]

[WITHGRANTOPTION]

其中:

1.对象的权限:

要授予的对象的权限。

2.ALL:

所有对象的权限。

3.列名:

该列上的对象权限(要授予其他用户的)。

4.ON对象名:

该对象上的对象权限将授予其他用户。

5.TO[用户名|角色名]:

指明对象权限要授予谁[某个用户|某个角色]。

6.PUBLIC:

指明对象权限要授予系统的所有用户。

7.WHITHGRANTOPTION:

允许被授予的用户再将这些对象权限授予其他用户。

为了我们以下的实验做些准备工作:

grantcreatesessiontocat;

revokeselectanytable

2fromcat,dog,pig,fox;

conn/assysdba

grantexecuteondbms_space_admintosystem;

2fromdba_tab_privs

3whereprivilegelike'

EX%'

4andtable_namelike'

DBMS_SPACE_ADMIN%'

GRANTEEOWNERTABLE_NAMEGRANTOR

-------------------------------------------------------------------------------------------------

SYSTEMSYSDBMS_SPACE_ADMINSYS

connectscott/tiger

grantupdate(sal)onemptocat;

grantupdate(job)

2onemptocat

3withgrantoption;

select*fromuser_col_privs_made;

GRANTEETABLE_NAMECOLUMN_NAMGRANTORPRIVILEGEGRA

------------------------------------------------------------------------------------------------

CATEMPSALSCOTTUPDATEN

CATEMPJOBSCOTTUPDATEY

grantupdate(job)onscott.emp

2topig,dog

系统显示表明:

授权语句已经成功地执行,这是因为SCOTT用户在为CAT用户授权的语句中使用了WITHGRANTOPTION子句。

grantupdate(sal)onscott.emptopig;

grantupdate(sal)onscott.emptopig

ORA-01031:

权限不足

授权语句没有被成功地执行,系统的错误信息显示为:

“没有足够的权限”,这是因为SCOTT用户在将EMP表的SAL列的UPDATE(修改)权限授予CAT用户时没有使用WITHGRANTOPTION子句。

grantupdate(job)onscott.emptofox;

授权语句已经成功地执行,这是因为CAT用户在为DOG用户授权的语句中也使用了WITHGRANTOPTION子句。

以上的例子证明“WITHGRANTOPTION子句允许被授予的用户再将这些对象权限授予其他用户“。

connectscott/tiger

colcolumn_namefora10

colgranteefora10

colprivilegefora10;

select*fromuser_col_privs_made;

---------------------------------------------------------------------------------------------

CATEMPSALSCOTTUPDATENO

CATEMPJOBSCOTTUPDATEYES

PIGEMPJOBCATUPDATEYES

DOGEMPJOBCATUPDATEYES

FOXEMPJOBDOGUPDATENO

接下来让我们收回权限:

revokeupdateonempfromcat;

2fromuser_col_privs_made;

未选定行

查询显示结果表明:

CAT用户以及它的狐朋狗友和猪老弟的对象权限都不见了。

这说明对象权限的回收是级连的。

由于对象权限回收的这种特性,可能WITHGRANTOPTION子句的使用要比WITHADMINOPTION子句的使用对系统安全的冲击小一些。

在GRANT语句中使用权WITHGRANTOPTION选项还是非常谨慎。

因为如果使用不当,可能会造成对该对象安全控制的失控。

在赋予用户对象权限时还是要使用最小化原则,这样才不至于在系统中留下任何安全的漏洞。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1