<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評(píng)論 :: 0 Trackbacks
    Oracle用戶權(quán)限
    ?
    ?
    ??? 對(duì)用戶的管理主要還是進(jìn)行權(quán)限上的設(shè)置。這部分的安全性問題就比較大了,有很多可以講的。其實(shí)可以參看一下Ask Tom中的相關(guān)問題。這里只是簡(jiǎn)單的介紹一下設(shè)置的原理,以及一些相關(guān)的數(shù)據(jù)字典。
    ?
    ?
    系統(tǒng)權(quán)限:

    1、使用GRANT語句向用戶賦予系統(tǒng)權(quán)限:
    ??? GRANT system_privilege TO user_name [ WITH ADMIN OPTION ] ;
    ??? 注:使用WITH ADMIN OPTION語句后,使用戶可以將相同權(quán)限賦給其他用戶。
    ?
    2、使用REVOKE語句撤銷系統(tǒng)權(quán)限:
    ??? REVOKE system_privilege FROM user_name ;
    ??? 注:當(dāng)刪除A用戶的權(quán)限時(shí),通過A賦予B的權(quán)限不會(huì)消失。
    ?
    3、任何用戶,都必須有CREATE SESSION權(quán)限,才可以連接到數(shù)據(jù)庫(kù)。
    ?
    4、可通過 selectdistinctprivilegefrom dba_sys_privs; 來查詢所有的系統(tǒng)權(quán)限列表
    ??? ANALYZE ANY
    ??? AUDIT SYSTEM
    ??? CREATE TABLE
    ??? DROP PROFILE
    ??? DROP ANY ROLE
    ??? ALTER DATABASE
    ??? DROP ANY INDEX
    ??? DROP ANY TABLE
    ??? LOCK ANY TABLE
    ??? EXECUTE ANY PROCEDURE
    ??? ……
    ??? 基本上都是可以顧名思義的,但是權(quán)限相對(duì)比較多,150項(xiàng)左右。
    ?

    對(duì)象權(quán)限:
    ?
    1、對(duì)象權(quán)限賦予語法:
    ??? GRANT object_privilege ON object_name TO username [ WITH GRANT OPTION ];
    ??? 注:使用WITH GRANT OPTION語句后,使用戶可以將相同權(quán)限賦給其他用戶,與系統(tǒng)權(quán)限相同
    ?
    2、對(duì)象權(quán)限撤銷語法:
    ??? REVOKE object_privilege ON object_name FROM username;
    ??? 注:當(dāng)刪除A用戶的權(quán)限時(shí),通過A賦予B的權(quán)限自動(dòng)消失,與系統(tǒng)權(quán)限相反
    ?
    3、查看具體的對(duì)象權(quán)限:
    ?
    ??? select * from dba_tab_privs where grantee= 'WANGXIAOQI' ; ?
    ??? select * fromTABLE_PRIVILEGESwhere GRANTEE='WANGXIAOQI';?
    ??? 1:兩者均可以查看對(duì)象權(quán)限,只是展現(xiàn)形式不同。
    ??? 注2:表名為TABLE_PRIV,但 不光只有table,而是所有object的信息,包括function、procedure、package等。
    ?
    4、object privilege 種類比較少,而且根據(jù)對(duì)象類型的不同而不同。
    ?
    ??? 在賦值時(shí)可以使用all代替該類型對(duì)象的所有權(quán)限類型,如:

    ??? grant select , update , delete , insert on table_name to user_name;

    ??? grant all on table_name to user_name;

    ?
    ??? 注:對(duì)于TABLE,all包括:ALTER、DELETE、INDEX、INSERT、SELECT、UPDATE、REFERENCES、ON COMMIT REFRESH、QUERY REWRITE、DEBUG、FLASHBACK
    ?
    ?

    角色管理:
    ?
    1、通過role來簡(jiǎn)化賦權(quán)操作,每個(gè)role含有若干項(xiàng)系統(tǒng)權(quán)限。role包括系統(tǒng)預(yù)定義自定義兩種。
    ?
    ??? select * from dba_roles; --查詢當(dāng)前所有ROLE列表,包括自定義
    ??? select * from dba_role_privs; --查詢某用戶的ROLE權(quán)限
    ??? select * from ROLE_SYS_PRIVS; --查詢當(dāng)前用戶的ROLE,及其所包含的系統(tǒng)權(quán)限
    ?
    2、系統(tǒng)預(yù)定義角色:
    ?
    ??? CONNECT:
    ??????? CREATE VIEW
    ??????? CREATE TABLE
    ??????? ALTER SESSION
    ??????? CREATE CLUSTER
    ??????? CREATE SESSION
    ??????? CREATE SYNONYM
    ??????? CREATE SEQUENCE
    ??????? CREATE DATABASE LINK
    ??? RESOURCE:
    ??????? CREATE TYPE
    ??????? CREATE TABLE
    ??????? CREATE CLUSTER
    ??????? CREATE TRIGGER
    ??????? CREATE OPERATOR
    ??????? CREATE SEQUENCE
    ??????? CREATE INDEXTYPE
    ??????? CREATE PROCEDURE
    ?
    ??? 另外包括比較重要的ROLE如:DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE等。
    ?
    ?
    3、自定義角色:
    ???
    ??? 創(chuàng)建ROLE:
    ??? CREATE ROLE role_name
    ??? [ NOT IDENTIFIED | IDENTIFIED BY password]
    ??? 注:IDENTIFIED 表示在修改該ROLE時(shí)是否需要提供密碼 <修改,不包括賦權(quán)和取消權(quán)限>
    ?
    ??? 在創(chuàng)建 role 之后,使用 grant 和 revoke 手動(dòng)設(shè)置 role 對(duì)應(yīng)的權(quán)限
    ??? 再使用 grant 和 revoke 將 role 賦給 user
    ??? 注:可以將 role 賦給 role
    ?
    4、啟用和禁用ROLE:
    ?
    ??? SET ROLE [role [identified by password] |,role [identified by password]...]
    ??? | ALL [EXCEPT role[,role]...]
    ??? | NONE ];
    ??? 注:ALL 表示啟用改用戶的所有角色,NONE表示禁用所有角色。
    ?
    ??? 例:
    ??? 禁用所有角色:setrolenone;
    ??? 啟用所有角色:setroleall; --role不能有密碼
    ??? 啟用某個(gè)角色:setrole role_test identifiedby test; --有密碼的話
    ??? 禁用某個(gè)角色:setroleallexcept role_test;
    ??? 注:setrole命令是覆蓋性質(zhì)的,即不能先啟用一個(gè),再啟用另一個(gè),必須一條命令中全部啟動(dòng);
    ?
    5、修改用戶時(shí)設(shè)置角色:
    ?
    ??? ALTER USER username
    ??? [default role [role_name[,role_name,...]]
    ??? | all [except role_name[,role_name,...]]
    ??? | none ];
    ?
    ?
    ?
    posted on 2008-10-02 22:36 decode360 閱讀(352) 評(píng)論(0)  編輯  收藏 所屬分類: 07.Oracle
    主站蜘蛛池模板: 亚洲宅男天堂a在线| 亚洲国产精品狼友中文久久久| 欧洲精品99毛片免费高清观看| 中出五十路免费视频| fc2成年免费共享视频18| 人妻免费久久久久久久了| 美女又黄又免费的视频| 国产精品亚洲专区一区| 在线观看免费亚洲| 黄页网站在线免费观看| 亚洲AV色无码乱码在线观看 | 99久久精品日本一区二区免费| 最近免费中文字幕mv电影| 18女人水真多免费高清毛片| 亚洲美女免费视频| 国产成在线观看免费视频| 成年午夜视频免费观看视频| 曰皮全部过程视频免费国产30分钟| 日本成人在线免费观看 | a级片免费观看视频| 国偷自产一区二区免费视频| 久久精品一区二区免费看| 99久久99久久免费精品小说| 猫咪免费人成网站在线观看| 妻子5免费完整高清电视| 免费高清小黄站在线观看| 一本久久综合亚洲鲁鲁五月天| 国产成人高清亚洲| 亚洲电影一区二区三区| 亚洲欧洲综合在线| 亚洲欧洲免费无码| 一级做a爰片久久毛片免费陪| 两个人看的www高清免费视频| 777爽死你无码免费看一二区| 亚洲成在人线aⅴ免费毛片| 国产在线观看免费完整版中文版| 亚洲一本大道无码av天堂| 亚洲欧洲日韩不卡| 亚洲欧美国产国产综合一区 | 91亚洲精品第一综合不卡播放| 久久精品国产亚洲AV忘忧草18|