REVOKE - 刪除訪問權限


SYNOPSIS

 

REVOKE [ GRANT OPTION FOR ]
    { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
    [,...] | ALL [ PRIVILEGES ] }
    ON [ TABLE ] tablename [, ...]
    FROM { username | GROUP groupname | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
    ON DATABASE dbname [, ...]
    FROM { username | GROUP groupname | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { EXECUTE | ALL [ PRIVILEGES ] }
    ON FUNCTION funcname ([type, ...]) [, ...]
    FROM { username | GROUP groupname | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { USAGE | ALL [ PRIVILEGES ] }
    ON LANGUAGE langname [, ...]
    FROM { username | GROUP groupname | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
    ON SCHEMA schemaname [, ...]
    FROM { username | GROUP groupname | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

DESCRIPTION 描述

REVOKE 撤銷以前賦予(別人)的權限,可以是撤銷一個或多個用戶或者一組用戶的權限。 關鍵字 PUBLIC 代表隱含定義的擁有所有用戶的組。


參閱 GRANT [grant(7)] 命令的描述獲取權限類型的含義。


請注意,任何特定的用戶都將擁有直接賦予他/她的權限,加上他/她所處的任何組, 以及再加上賦予 PUBLIC 的權限的總和。因此,舉例來說,廢止 PUBLIC 的 SELECT 權限並不意味着所有用戶都失去了對該對象的 SELECT 權限: 那些直接得到權限賦予的以及通過一個組得到權限的人仍然擁有該權限。


如果聲明了 GRANT OPTION FOR,那么只是撤銷對該權限的授權的權力,而不是撤銷該權限本身。


如果一個用戶持有某項權限,並且還有授權的選項,並且還把這個權限賦予了其他用戶, 那么那些其他用戶持有的權限都叫做依賴性權限。 如果第一個用戶持有的權限或者授權選項被撤銷,而依賴性權限仍然存在, 那么如果我們聲明了 CASCADE,則所有依賴性權限都被撤銷, 否則撤銷動作就會失敗。這個遞規的撤銷只影響那種通過一個用戶鏈賦予的權限, 這個鏈條可以通過這條 REVOKE 命令里面給出的用戶追蹤。 因此,如果權限本身是通過其他用戶賦予的, 那么被影響的用戶可以有效地保留這個權限。

NOTES 注意


使用 psql(1) 的 \z 命令顯示在一個現存對象上賦予的權限。 參見 GRANT [grant(7)] 獲取關於格式的信息。


一個用戶只能撤銷由它自己直接賦予的權限。舉例來說,如果用戶 A 帶着授權選項吧一個權限賦予了用戶 B,然后用戶 B 又賦予了用戶 C, 那么用戶 A 不能直接將 C 的權限撤銷。但是,用戶 A 可以撤銷用戶 B 的授權選項,並且使用 CASCADE 選項,這樣, 用戶 C 的權限就會自動被撤銷。


如果一個超級用戶發出一個 GRANT 或者 REVOKE 命令, 那么命令是按照以被影響的對象的所有者執行的方式執行的。因為所有權限最終從對象所有者(可能間接通過賦權選項獲取), 超級用戶可以廢除所有權限,但是這樣就要求像上面說的那樣使用 CASCADE。

EXAMPLES 例子


撤銷公眾在表 films 上的插入權限:

 

REVOKE INSERT ON films FROM PUBLIC;


廢除用戶 manuel 對視圖 kinds 的所有權限:

 

  
REVOKE ALL PRIVILEGES ON kinds FROM manuel;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM