回收用户权限与角色¶
- 回收角色
回收角色的语法是:
REVOKE ROLE rolename FROM USER username[,...n];
其中,rolename 为角色名字,username为用户名字。用户必须已经存在。被回收角色的用户将不再具有角色权限。
下面的示例将回收用户具有角色:
REVOKE ROLE app_role1 FROM USER app_user1;
执行REVOKE语句的用户必须是被REVOKE用户的授权者,超级用户,或者数据库对象的所有者。
- 回收权限
回收权限的语法是:
REVOKE [GRANT OPTION FOR] privileges ON privilege_target FROM {username|ROLE rolename}[,...n];
若使用GRANT OPTION FOR 子句,则只撤销用户的授权权限,不收回用户在对象上获得的权限;若不使用GRANT OPTION FOR 子句,则撤销授予用户的指定权限,同时也撤销用户的授权权限。数据库对象权限的明细表见上一节。
下例回收用户HU和FLATER在表PROJ上的查询权限和更新列CITY的权限。
REVOKE SELECT , UPDATE(CITY) ON PROJ FROM HU,FLATER;