複製鏈接
請複製以下鏈接發送給好友

revoke

(計算機權限名)

鎖定
revoke是一個計算機權限名,其可以廢除某用户或某組或所有用户訪問權限。
中文名
廢除; 撤銷,取消
外文名
revoke

revokeREVOKE

名稱:REVOKE — 廢除某用户或某組或所有用户訪問權限.
REVOKE privilege [, ...]
ON object [, ...]
FROM { PUBLIC | GROUP ER>gBLE>| username }
輸入
privilege

revoke可能的權限是

SELECT
對選定表/視圖的所有列/字段的訪問權限.
INSERT
對選定表的所有列/字段的插入數據的權限.
UPDATE
對選定表所有列/字段的更新權限.
DELETE
對選定表所有列/字段的刪除權限.
RULE
在表/視圖上定義規則的權限.(參閲 CREATE RULE)。
ALL
廢止所有權限.
object
要廢除訪問的對象名.可能的對象有:
table
view
sequence
index
group
被廢除權限的組的名稱.
username
被廢除權限的用户的名稱.使用 PUBLIC 關鍵字廢除所有用户.
PUBLIC
廢止所有用户的權限.
輸出
CHANGE
成功執行返回的信息.
ERROR
如果對象不可用或不可能廢止組或用户的權限.
描述
REVOKE 允許對象的創建者廢止以前賦予過的某用户,組或所有用户(用 PUBLIC)權限.
注意
使用 psql \z 命令獲取現存對象的權限的更多信息:
Database = lusitania
+------------------+---------------------------------------------+
| Relation | Grant/Revoke Permissions |
+------------------+---------------------------------------------+
| mytable | {"=rw","miriam=arwR","group todos=rw"} |
+------------------+---------------------------------------------+
Legend:
uname=arwR -- privileges granted to a user
group gname=arwR -- privileges granted to a GROUP
=arwR -- privileges granted to PUBLIC
r -- SELECT
w -- UPDATE/DELETE
a -- INSERT
R -- RULE
arwR -- ALL
小技巧: 要創建一個組 GROUP 你只能手工的向表 pg_group 裏插入數據:(譯註:這部分內容比較舊,已經有CREATE GROUP 語句了。)
INSERT INTO pg_group VALUES ('todos');
CREATE USER miriam IN GROUP todos;
用法
廢除所有用户對錶 films 的插入權限:
REVOKE INSERT ON films FROM PUBLIC;
廢除用户 manuel 對視圖 kinds 的所有權限:
REVOKE ALL ON kinds FROM manuel;
兼容性
SQL92
SQL92 的 REVOKE 語法有一些附加的功能,包括一些用於廢止表中某些列/字段的權限:
REVOKE { SELECT | DELETE | USAGE | ALL PRIVILEGES } [, ...]
ON object
FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE }
REVOKE { INSERT | UPDATE | REFERENCES } [, ...] [ ( column [, ...] ) ]
ON object
FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE }
請參考 GRANT 命令獲取獨立的列/字段的細節.
REVOKE GRANT OPTION FOR privilege [, ...]
ON object
FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE }
廢除一個用户給其他用户賦予權限的權限.請參考 GRANT 命令獲取獨立的列/字段的細節.

revoke可能的對象

[ TABLE ] 表/視圖
CHARACTER SET 字符集
COLLATION 集合
TRANSLATION 轉換
DOMAIN 域
如果用户1 賦予了用户2的權限帶着(賦予選項) WITH GRANT OPTION ,然後用户2 給了用户3,則用户1可以使用 CASCADE 關鍵字廢除用户2和3的權限.
如果用户1給予用户2權限帶着(賦予選項)WITH GRANT OPTION,然後用户2又把它給予了用户3,則如果用户1 試圖帶着 RESTRICT 關鍵字廢除這個權限就會失敗.