博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
REVOKE - 删除访问权限
阅读量:5024 次
发布时间:2019-06-12

本文共 2141 字,大约阅读时间需要 7 分钟。

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;

转载于:https://www.cnblogs.com/fanweisheng/p/11097966.html

你可能感兴趣的文章
php面向对象编程(oop)基础知识示例解释
查看>>
1.在数组中找到与给定总和的配对
查看>>
树的子结构
查看>>
关于根据Build Platform或者OS 加载x86或者x64 dll的问题
查看>>
程序员高效开发的几个技巧
查看>>
js-权威指南学习笔记19.2
查看>>
hexo 搭建博客
查看>>
关于 UIWebView 几个高级用法
查看>>
maven创建的项目中无法创建src/main/java 解决方案
查看>>
华为软件开发云测评报告二:代码检查
查看>>
集合1
查看>>
js 原生 ajax
查看>>
关键词 virtual
查看>>
建造者模式(屌丝专用)
查看>>
UVALive 4730 Kingdom +段树和支票托收
查看>>
[APIO2010]特别行动队
查看>>
[SCOI2016]幸运数字
查看>>
SpringBoot 集成ehcache
查看>>
初步swift语言学习笔记2(可选类型?和隐式可选类型!)
查看>>
Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
查看>>