<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
    主站蜘蛛池模板: 久久久久久久99精品免费| 亚洲免费人成视频观看| 亚洲小视频在线观看| 在线看片无码永久免费视频| 亚洲成av人片在www鸭子| 2048亚洲精品国产| 日本阿v免费费视频完整版| 日本一区二区三区在线视频观看免费 | 特级毛片全部免费播放a一级| 亚洲成色在线综合网站| 成人免费毛片视频| 免费无码av片在线观看| 亚洲6080yy久久无码产自国产| 亚洲国产精品VA在线观看麻豆| 高清国语自产拍免费视频国产 | 久久爰www免费人成| 久久亚洲精品无码gv| 亚洲人成影院在线| 亚洲伊人久久综合影院| 日韩吃奶摸下AA片免费观看| 91国内免费在线视频| 亚洲欧美中文日韩视频| 久久亚洲精精品中文字幕| 亚洲色婷婷综合开心网| 麻豆成人精品国产免费| 2019中文字幕在线电影免费| 亚洲精品视频免费观看| 爱情岛论坛亚洲品质自拍视频网站 | 日韩亚洲一区二区三区| 国产一级特黄高清免费大片| 很黄很黄的网站免费的| 久久一本岛在免费线观看2020| 免费人成网站永久| 亚洲av无码专区青青草原| 亚洲a级成人片在线观看| 亚洲国产精品第一区二区| 国产亚洲精品无码专区| 国产精品jizz在线观看免费| 国产在线观看片a免费观看| 99精品视频在线视频免费观看| 精品无码一级毛片免费视频观看 |