您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

撤消用户的 SET USER 系统特权

移除某一用户模仿其他用户和管理 SET USER 系统特权的权限。

先决条件

已授予 SET USER 系统特权以及管理权限。

背景信息

可使用不同子句向某位用户多次授予 SET USER 系统特权。例如,使用 ANY 子句为 User1 授予一次 SET USER 系统特权,然后再使用 target_users_list 子句授予一次该特权。在多次授予的情况下,必须使用 GRANT 所用的同一子句格式来进行撤消。如果使用 ANY 子句撤消 User1 的系统特权,使用 子句进行的授予仍生效。实际效果是 User1 现在只能够模仿 中的用户。或者,如果使用 子句撤消 User1 的系统特权,则使用 ANY 子句进行的授予仍生效。此时的实际效果是 User1 可继续模仿数据库中的任意用户。 注意 以下示例假定 User1 满足成功模仿所需的所有条件。

过程

要撤消 SET USER 系统特权,请执行下列语句之一: 撤消权限的类型说明仅系统特权的管理权限REVOKE ADMIN OPTION FOR SET USER ( ANY ) FROM用于模仿任意数据库用户的系统特权,包括管理权限REVOKE SET USERFROMFROM用于模仿指定用户的系统特权REVOKE SET USER ( ) FROM用于模仿指定角色的系统特权REVOKE SET USER ( ANY WITH ROLES ) FROM

示例

以下语句将移除 模仿任意数据库用户的权限:

REVOKE SET USER (ANY) FROM Sam

or

REVOKE SET USER FROM Sam

该语句仅移除 SET USER 系统特权的管理权限。 可继续模仿数据库中的任意用户。

REVOKE ADMIN OPTION FOR SET USER (ANY) FROM Frank

该语句移除 模仿 (仅限这三者)的权限。

REVOKE SET USER (Mary, Joe, Sue) FROM Bob, Jeff

以下语句移除 模仿 角色任意成员的能力:

REVOKE SET USER (ANY WITH ROLES Sales1) FROM Mary

以下语句移除 模仿 ,或者模仿 角色任意成员的能力:

REVOKE SET USER (Joe, Sue), (ANY WITH ROLES Sales2) FROM Sarah

以下语句移除 模仿 角色任意成员的能力:

REVOKE SET USER (ANY WITH ROLES Marketing1, Markeing2) FROM Joan