暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle DBA:如何撤销数据库用户权限和角色

原创 sunshine 2022-11-11
3256

撤销

用于撤销已授予其他用户的权限。

例如,要撤销您授予 Sami 的 select、update、insert 权限,然后给出以下语句。

从 sami 撤销对 emp 的选择、更新、插入;

要撤销授予 public 的 emp 上的 select 语句,请执行以下命令。

从公众中撤销对emp的选择;

要撤销对 ename 列的更新权限以及对 empno 和 ename 列的插入权限,请给出以下撤销语句。

撤销更新,从 sami 插入 emp;

注意:您不能收回列级权限。假设您只想收回对 ename 列的插入权限,那么您必须首先收回整个插入权限,然后授予对 empno 列的权限。

本节介绍撤销用户权限和角色的各个方面,包括以下主题:

撤销系统权限和角色:

您可以使用企业管理器的撤销系统特权/角色对话框或 sql 命令撤销来撤销系统特权和/或角色。

任何具有系统特权或角色的 admin 选项的用户都可以撤销任何其他 DATABASE 用户或角色的特权或角色,授予者不必是最初授予该特权或角色的用户。此外,具有授予任何角色的用户可以撤销任何角色。

以下语句从 tsmith 撤消 create table SYSTEM PRIVILEGE和 accts_rec 角色:

sql>revoke create table, accts_rec from tsmith;

撤销对象权限和角色:

您可以使用企业管理器或 sql 命令 revoke 撤销对象权限。

要撤销对象特权,撤销者必须是被撤销对象特权的原始授予者。

例如,假设您是原始授权人,要撤销用户 jfee 和 tsmith 对 emp 表的选择和插入权限,您将发出以下语句:

Sql>revoke select, insert on emp from jfee, tsmith;

以下语句从表 dept 撤销所有特权(最初授予角色 human_resource):

Sql>revoke all on dept from human_resources;

撤销列选择性对象权限:

尽管用户可以授予表和视图的列选择性插入、更新和引用权限,但他们不能使用类似的 revoke 语句选择性地撤销特定于列的权限。相反,授予者必须首先撤销表或视图的所有列的对象特权,然后有选择地重新授予应该保留的列特定特权。

例如,假设角色 human_resources 已被授予对表 dept 的 deptno 和 dname 列的更新权限。要仅撤销对 deptno 列的更新权限,您将发出以下两个语句:

Sql>revoke update on dept from human_resources;
Sql>grant update (dname) on dept to human_resources;

revoke 语句从角色 human_resources 撤消对 dept 表的所有列的更新权限。grant 语句将 dname 列的更新权限重新授予角色 human_resources。

原文标题:Revoking user privileges and roles - Oracle DBA

原文链接:https://mindmajix.com/oracle-dba/revoking-user-privileges-roles


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论