0512管理权限110g.docx
《0512管理权限110g.docx》由会员分享,可在线阅读,更多相关《0512管理权限110g.docx(23页珍藏版)》请在冰点文库上搜索。
0512管理权限110g
chapter7安全管理2-1
chapter7安全管理2-1
一、Oracle10g用户权限的管理1
1、Oracle10g数据库中的几个概念:
权限、角色、数据库对象
1-1、数据库对象就是具有一个名称和一种已定义结构的任何元素。
Oracle10g中常用的数据库对象有:
表、约束、视图、序列、索引和同义词。
1-2、权限
权限是允许用户执行特定的SQL语句。
在Oracle10g中存在两种权限:
系统权限和对象权限。
在这里我们不讨论dba或dbopr的权限,只考虑普通用户的权限,要创建普通用户,必须以DBA的身份登录。
系统权限(SystemPrivilege):
允许访问Oracle10g数据库,并且允许用户对数据库对象(如表、视图)执行DDL操作。
Oracle10g中大约有160种系统权限。
通过数据字典视图SYSTEM_PRIVILEGE_MAP查看Oracle10g中所有可用的系统权限。
通过数据字典视图SYSTEM_PRIVILEGE_MAP查看Oracle9i中所有可用的系统权限。
对象权限(objectPrivilege):
允许用户对数据库中的数据对象执行DML操作。
Oracle10g中共有13种对象权限:
SELECT、INSERT、UPDATE、DELETE、INDEX、ALTER、REFERENCES等
1-3、角色
角色是一种命名的权限集合,可能是系统权限,也可能是对象权限。
一个用户可以同时有几个角色,几个用户也可以使用同一个角色为避免向需要相同权限的用户反复指定相同的权限,更简单的方法是向角色授予权限,然后向用户授予角色。
简化了权限的撤销和维护。
ROLE_SYS_PRIVS数据字典视图列出了已经向角色授予的所有系统权限;SESSION_PRIVS视图列出了当前用户雇用了哪些权限。
DDL命令:
数据定义语言命令,用于创建、更改、删除数据库对象;
DML命令:
数据操纵语言命令,用于修改表内的数据,并不更改表的实际数据;
二、实例说明1
1、系统权限
1、创建用户sys_user1
SQL>createusersys_user1identifiedbysys_user1accountunlock
用户已创建。
2、授予系统权限createsession给用户sys_user1
SQL>grantcreatesessiontosys_user1
授权成功。
3、以sys_user1用户身份连接数据库
SQL>connsys_user1/sys_user1
已连接。
4、查看session_privs结构表的结构
SQL>descsession_privs
名称是否为空?
类型
-----------------------------------------------------------------------------
PRIVILEGENOTNULLVARCHAR2(40)
5、查看sys_user1用户拥有的权限
SQL>select*fromsession_privs
PRIVILEGE
----------------------------------------
CREATESESSION
6、验证sys_user1用户能否创建表
createtablesys_tab1(test_nochar(8))
*
第1行出现错误:
ORA-01031:
权限不足
7、以system用户身份连接数据库
SQL>connsystem/rjxy
已连接。
8、授予系统权限createtable给用户sys_user1
SQL>grantcreatetabletosys_user1
授权成功。
9、以sys_user1用户身份连接数据库
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsys_user1/sys_user1
已连接。
10、查看sys_user1用户拥有的权限
SQL>select*fromsession_privs
PRIVILEGE
----------------------------------------
CREATESESSION
CREATETABLE
11、验证sys_user1用户能否创建表
SQL>createtablesys_tab1(test_nochar(8))
createtablesys_tab1(test_nochar(8))
*
第1行出现错误:
ORA-01950:
对表空间'SYSTEM'无权限
12、授予unlimitedonsystem权限给用户sys_user1
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsystem/rjxy
已连接。
SQL>alterusersys_user1quotaunlimitedonsystem
用户已更改。
13、验证sys_user1用户能否创建表
以sys_user1用户身份连接数据库
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsys_user1/sys_user1
已连接。
SQL>createtablesys_tab1(test_nochar(8))
表已创建。
14、创建用户sys_user2
SQL>connsystem/rjxy
已连接。
SQL>createusersys_user2identifiedbysys_user2quotaunlimitedonsystem
用户已创建。
15、授予connect角色给用户sys_user2
SQL>grantconnecttosys_user2
授权成功。
16、查看sys_user2用户拥有的权限
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsys_user2/sys_user2
已连接。
SQL>select*fromsession_privs
PRIVILEGE
----------------------------------------
CREATESESSION
17、创建用户sys_user3
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsystem/rjxy
已连接。
SQL>createusersys_user3identifiedbysys_user3quotaunlimitedonsystem
用户已创建。
18、授予resource角色给用户sys_user3
SQL>grantresourcetosys_user3
授权成功。
19、以sys_user3用户身份连接数据库
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsys_user3/sys_user3
ERROR:
ORA-01045:
userSYS_USER3lacksCREATESESSIONprivilege;logondenied
20、授予createsession权限给用户sys_user3
SQL>connsystem/rjxy
已连接。
SQL>grantcreatesessiontosys_user3
授权成功。
21、以sys_user3用户身份连接数据库
SQL>connsys_user3/sys_user3
已连接。
22、查看sys_user3用户拥有的权限
SQL>select*fromsession_privs
PRIVILEGE
----------------------------------------
CREATESESSION
UNLIMITEDTABLESPACE
CREATETABLE
CREATECLUSTER
CREATESEQUENCE
CREATEPROCEDURE
CREATETRIGGER
CREATETYPE
CREATEOPERATOR
CREATEINDEXTYPE
已选择10行。
23、创建用户sys_user4
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsystem/rjxy
已连接。
SQL>createusersys_user4identifiedbysys_user4
用户已创建。
24、授予dba权限给用户sys_user4
SQL>grantdbatosys_user4
授权成功。
25、以sys_user4用户身份连接数据库
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsys_user4/sys_user4
已连接。
26、查看sys_user4用户拥有的权限
SQL>select*fromsession_privs
PRIVILEGE
----------------------------------------
ALTERSYSTEM
AUDITSYSTEM
CREATESESSION
ALTERSESSION
RESTRICTEDSESSION
CREATETABLESPACE
ALTERTABLESPACE
MANAGETABLESPACE
DROPTABLESPACE
UNLIMITEDTABLESPACE
CREATEUSER
PRIVILEGE
----------------------------------------
BECOMEUSER
ALTERUSER
DROPUSER
CREATEROLLBACKSEGMENT
ALTERROLLBACKSEGMENT
DROPROLLBACKSEGMENT
CREATETABLE
CREATEANYTABLE
ALTERANYTABLE
BACKUPANYTABLE
DROPANYTABLE
PRIVILEGE
----------------------------------------
LOCKANYTABLE
COMMENTANYTABLE
SELECTANYTABLE
INSERTANYTABLE
UPDATEANYTABLE
DELETEANYTABLE
CREATECLUSTER
CREATEANYCLUSTER
ALTERANYCLUSTER
DROPANYCLUSTER
CREATEANYINDEX
PRIVILEGE
----------------------------------------
ALTERANYINDEX
DROPANYINDEX
CREATESYNONYM
CREATEANYSYNONYM
DROPANYSYNONYM
CREATEPUBLICSYNONYM
DROPPUBLICSYNONYM
CREATEVIEW
CREATEANYVIEW
DROPANYVIEW
CREATESEQUENCE
PRIVILEGE
----------------------------------------
CREATEANYSEQUENCE
ALTERANYSEQUENCE
DROPANYSEQUENCE
SELECTANYSEQUENCE
CREATEDATABASELINK
CREATEPUBLICDATABASELINK
DROPPUBLICDATABASELINK
CREATEROLE
DROPANYROLE
GRANTANYROLE
ALTERANYROLE
PRIVILEGE
----------------------------------------
AUDITANY
ALTERDATABASE
FORCETRANSACTION
FORCEANYTRANSACTION
CREATEPROCEDURE
CREATEANYPROCEDURE
ALTERANYPROCEDURE
DROPANYPROCEDURE
EXECUTEANYPROCEDURE
CREATETRIGGER
CREATEANYTRIGGER
PRIVILEGE
----------------------------------------
ALTERANYTRIGGER
DROPANYTRIGGER
CREATEPROFILE
ALTERPROFILE
DROPPROFILE
ALTERRESOURCECOST
ANALYZEANY
GRANTANYPRIVILEGE
CREATEMATERIALIZEDVIEW
CREATEANYMATERIALIZEDVIEW
ALTERANYMATERIALIZEDVIEW
PRIVILEGE
----------------------------------------
DROPANYMATERIALIZEDVIEW
CREATEANYDIRECTORY
DROPANYDIRECTORY
CREATETYPE
CREATEANYTYPE
ALTERANYTYPE
DROPANYTYPE
EXECUTEANYTYPE
UNDERANYTYPE
CREATELIBRARY
CREATEANYLIBRARY
PRIVILEGE
----------------------------------------
ALTERANYLIBRARY
DROPANYLIBRARY
EXECUTEANYLIBRARY
CREATEOPERATOR
CREATEANYOPERATOR
DROPANYOPERATOR
EXECUTEANYOPERATOR
CREATEINDEXTYPE
CREATEANYINDEXTYPE
ALTERANYINDEXTYPE
DROPANYINDEXTYPE
PRIVILEGE
----------------------------------------
UNDERANYVIEW
QUERYREWRITE
GLOBALQUERYREWRITE
EXECUTEANYINDEXTYPE
UNDERANYTABLE
CREATEDIMENSION
CREATEANYDIMENSION
ALTERANYDIMENSION
DROPANYDIMENSION
MANAGEANYQUEUE
ENQUEUEANYQUEUE
PRIVILEGE
----------------------------------------
DEQUEUEANYQUEUE
CREATEANYCONTEXT
DROPANYCONTEXT
CREATEANYOUTLINE
ALTERANYOUTLINE
DROPANYOUTLINE
ADMINISTERRESOURCEMANAGER
ADMINISTERDATABASETRIGGER
MERGEANYVIEW
ONCOMMITREFRESH
RESUMABLE
PRIVILEGE
----------------------------------------
SELECTANYDICTIONARY
DEBUGCONNECTSESSION
DEBUGANYPROCEDURE
FLASHBACKANYTABLE
GRANTANYOBJECTPRIVILEGE
CREATEEVALUATIONCONTEXT
CREATEANYEVALUATIONCONTEXT
ALTERANYEVALUATIONCONTEXT
DROPANYEVALUATIONCONTEXT
EXECUTEANYEVALUATIONCONTEXT
CREATERULESET
PRIVILEGE
----------------------------------------
CREATEANYRULESET
ALTERANYRULESET
DROPANYRULESET
EXECUTEANYRULESET
EXPORTFULLDATABASE
IMPORTFULLDATABASE
CREATERULE
CREATEANYRULE
ALTERANYRULE
DROPANYRULE
EXECUTEANYRULE
PRIVILEGE
----------------------------------------
ANALYZEANYDICTIONARY
ADVISOR
CREATEJOB
CREATEANYJOB
EXECUTEANYPROGRAM
EXECUTEANYCLASS
MANAGESCHEDULER
SELECTANYTRANSACTION
DROPANYSQLPROFILE
ALTERANYSQLPROFILE
ADMINISTERSQLTUNINGSET
PRIVILEGE
----------------------------------------
ADMINISTERANYSQLTUNINGSET
CREATEANYSQLPROFILE
MANAGEFILEGROUP
MANAGEANYFILEGROUP
READANYFILEGROUP
CHANGENOTIFICATION
CREATEEXTERNALJOB
已选择161行。
SQL>showuser
USER为"SYS_USER4"
27、创建用户sys_user5
SQL>createusersys_user5identifiedbysys_user5
用户已创建。
28、授予connect角色给用户sys_user5
SQL>grantconnecttosys_user5
授权成功。
29、授予resource角色给用户sys_user5
SQL>grantresourcetosys_user5
授权成功。
29、授予dba角色给用户sys_user5
SQL>grantdbatosys_user5
授权成功。
30、查看sys_user5用户拥有的权限
SQL>disconn
从OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions断开
SQL>connsys_user5/sys_user5
已连接。
SQL>showuser
USER为"SYS_USER5"
SQL>select*fromsession_privs
PRIVILEGE
----------------------------------------
ALTERSYSTEM
AUDITSYSTEM
CREATESESSION
ALTERSESSION
RESTRICTEDSESSION
CREATETABLESPACE
ALTERTABLESPACE
MANAGETABLESPACE
DROPTABLESPACE
UNLIMITEDTABLESPACE
CREATEUSER
PRIVILEGE
----------------------------------------
BECOMEUSER
ALTERUSER
DROPUSER
CREATEROLLBACKSEGMENT
ALTERROLLBACKSEGMENT
DROPROLLBACKSEGMENT
CREATETABLE
CREA