<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      PostgreSQL學習手冊(角色和權(quán)限)

          PostgreSQL是通過角色來管理數(shù)據(jù)庫訪問權(quán)限的,我們可以將一個角色看成是一個數(shù)據(jù)庫用戶,或者一組數(shù)據(jù)庫用戶。角色可以擁有數(shù)據(jù)庫對象,如表、索引,也可以把這些對象上的權(quán)限賦予其它角色,以控制哪些用戶對哪些對象擁有哪些權(quán)限。
         
      一、數(shù)據(jù)庫角色:

          1. 創(chuàng)建角色:
          CREATE ROLE role_name;
          
          2. 刪除角色:
          DROP ROLE role_name;
          
          3. 查詢角色:
          檢查系統(tǒng)表pg_role,如:
          SELECT usename FROM pg_role;
          也可以在psql中執(zhí)行\(zhòng)du命令列出所有角色。
          
      二、角色屬性:

          一個數(shù)據(jù)庫角色可以有一系列屬性,這些屬性定義他的權(quán)限,以及與客戶認證系統(tǒng)的交互。
          1. 登錄權(quán)限:
          只有具有LOGIN屬性的角色才可以用于數(shù)據(jù)庫連接,因此我們可以將具有該屬性的角色視為登錄用戶,創(chuàng)建方法有如下兩種:
          CREATE ROLE name LOGIN PASSWORD '123456‘;
          CREATE USER name PASSWORD '123456';
          
          2. 超級用戶:
          數(shù)據(jù)庫的超級用戶擁有該數(shù)據(jù)庫的所有權(quán)限,為了安全起見,我們最好使用非超級用戶完成我們的正常工作。和創(chuàng)建普通用戶不同,創(chuàng)建超級用戶必須是以超級用戶的身份執(zhí)行以下命令:
          CREATE ROLE name SUPERUSER;
          
          3. 創(chuàng)建數(shù)據(jù)庫:
          角色要想創(chuàng)建數(shù)據(jù)庫,必須明確賦予創(chuàng)建數(shù)據(jù)庫的屬性,見如下命令:
          CREATE ROLE name CREATEDB;
          
          4. 創(chuàng)建角色:
          一個角色要想創(chuàng)建更多角色,必須明確給予創(chuàng)建角色的屬性,見如下命令:
          CREATE ROLE name CREATEROLE;
          
      三、權(quán)限:

          數(shù)據(jù)庫對象在被創(chuàng)建時都會被賦予一個所有者,通常而言,所有者就是執(zhí)行對象創(chuàng)建語句的角色。對于大多數(shù)類型的對象,其初始狀態(tài)是只有所有者(或超級用戶)可以對該對象做任何事情。如果要允許其它用戶可以使用該對象,必須賦予適當?shù)臋?quán)限。PostgreSQL中預定義了許多不同類型的內(nèi)置權(quán)限,如:SELECT、INSERT、UPDATE、DELETE、RULE、REFERENCES、TRIGGER、CREATE、TEMPORARY、EXECUTE和USAGE。
          我們可以使用GRANT命令來賦予權(quán)限,如:
          GRANT UPDATE ON accounts TO joe;
          對于上面的命令,其含義為將accounts表的update權(quán)限賦予joe角色。此外,我們也可以用特殊的名字PUBLIC把對象的權(quán)限賦予系統(tǒng)中的所有角色。在權(quán)限聲明的位置上寫ALL,表示把適用于該對象的所有權(quán)限都賦予目標角色。
          要撤銷權(quán)限,使用合適的REVOKE命令:
          REVOKE ALL ON accounts FROM PUBLIC;
          其含義為:對所有角色(PUBLIC)撤銷在accounts對象上的所有權(quán)限(ALL)。

      四、角色成員:

          在系統(tǒng)的用戶管理中,通常會把多個用戶賦予一個組,這樣在設(shè)置權(quán)限時只需給該組設(shè)置即可,撤銷權(quán)限時也是從該組撤消。在PostgreSQL中,首先需要創(chuàng)建一個代表組的角色,之后再將該角色的membership權(quán)限賦給獨立的用戶角色即可。
          1. 創(chuàng)建一個組角色,通常而言,該角色不應(yīng)該具有LOGIN屬性,如:
          CREATE ROLE name;   
          2. 使用GRANT和REVOKE命令添加和撤消權(quán)限:
          GRANT group_role TO role1, ... ;
          REVOKE group_role FROM role1, ... ;
        一個角色成員可以通過兩種方法使用組角色的權(quán)限,如:
          1. 每個組成員都可以用SET ROLE命令將自己臨時"變成"該組成員,此后再創(chuàng)建的任何對象的所有者將屬于該組,而不是原有的登錄用戶。
          2. 擁有INHERIT屬性的角色成員自動繼承它們所屬角色的權(quán)限。
          見如下示例:
          CREATE ROLE joe LOGIN INHERIT;  --INHERIT是缺省屬性。
          CREATE ROLE admin NOINHERIT;
          CREATE ROLE wheel NOINHERIT;
          GRANT admin TO joe;
          GRANT wheel TO admin;
          現(xiàn)在我們以角色joe的身份與數(shù)據(jù)庫建立連接,那么該數(shù)據(jù)庫會話將同時擁有角色joe和角色admin的權(quán)限,這是因為joe"繼承(INHERIT)"了admin的權(quán)限。然而與此不同的是,賦予wheel角色的權(quán)限在該會話中將不可用,因為joe角色只是wheel角色的一個間接成員,它是通過admin角色間接傳遞過來的,而admin角色卻含有NOINHERIT屬性,這樣wheel角色的權(quán)限將無法被joe繼承。
        這樣wheel角色的權(quán)限將無法被joe繼承。此時,我們可以在該會話中執(zhí)行下面的命令:
          SET ROLE admin;
          在執(zhí)行之后,該會話將只擁有admin角色的權(quán)限,而不再包括賦予joe角色的權(quán)限。同樣,在執(zhí)行下面的命令之后,該會話只能使用賦予wheel的權(quán)限。
          SET ROLE wheel;
          在執(zhí)行一段時間之后,如果仍然希望將該會話恢復為原有權(quán)限,可以使用下列恢復方式之一:
          SET ROLE joe;
          SET ROLE NONE;
          RESET ROLE;
          注意: SET ROLE命令總是允許選取當前登錄角色的直接或間接組角色。因此,在變?yōu)閣heel之前沒必要先變成admin。
          角色屬性LOGIN、SUPERUSERCREATEROLE被視為特殊權(quán)限,它們不會像其它數(shù)據(jù)庫對象的普通權(quán)限那樣被繼承。如果需要,必須在調(diào)用SET ROLE時顯示指定擁有該屬性的角色。比如,我們也可以給admin角色賦予CREATEDB和CREATEROLE權(quán)限,然后再以joe的角色連接數(shù)據(jù)庫,此時該會話不會立即擁有這些特殊權(quán)限,只有當執(zhí)行SET ROLE admin命令之后當前會話才具有這些權(quán)限。
          要刪除一個組角色,執(zhí)行DROP ROLE group_role命令即可。然而在刪除該組角色之后,它與其成員角色之間的關(guān)系將被立即撤銷(成員角色本身不會受影響)。不過需要注意的是,在刪除之前,任何屬于該組角色的對象都必須先被刪除或者將對象的所有者賦予其它角色,與此同時,任何賦予該組角色的權(quán)限也都必須被撤消。

      posted @ 2012-05-18 09:08  OrangeAdmin  閱讀(34700)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 亚洲男人第一无码av网站| 国产av无码专区亚洲草草| 国内精品久久黄色三级乱| 亚洲综合伊人五月天中文| 欧美激情内射喷水高潮| 国语精品国内自产视频| 午夜天堂精品久久久久| 韩国午夜福利片在线观看| 张家港市| 国产中文三级全黄| 五月天天天综合精品无码| 高清不卡一区二区三区| 国产一区二区三区十八禁| 四虎亚洲国产成人久久精品| 国产人妇三级视频在线观看| 国内揄拍国内精品少妇| 一色桃子中出欲求不满人妻| √天堂中文www官网在线| 国产在线观看播放av| 久久亚洲精品人成综合网| 国产午夜精品一区理论片| 日韩中文字幕在线不卡一区| 最近中文字幕完整版2019| 精品国产一区二区三区av色诱| 成人亚欧欧美激情在线观看 | 民勤县| 国产成人综合亚洲第一区| 国产精品区一区第一页| 在厨房拨开内裤进入在线视频| 精品精品国产自在97香蕉| 亚洲国产精品自在拍在线播放蜜臀 | 色悠悠国产在线视频一线| 大桥未久亚洲无av码在线| 好吊视频一区二区三区人妖| 人妻激情偷乱一区二区三区| 中文字幕国产精品一二区| 在线一区二区中文字幕| 国产情侣草莓视频在线| 国产精品免费第一区二区| 美女裸体18禁免费网站| 欧美日韩亚洲国产|