首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么将权限授予Postgres中的特定表的用户,实际上是将其授予两个用户?

问为什么将权限授予Postgres中的特定表的用户,实际上是将其授予两个用户?
EN

Database Administration用户
提问于 2023-01-26 18:11:01
回答 1查看 20关注 0票数 0

假设我有两个postgres用户,“第一”和“第二”。

我正在通过GRANT ALL PRIVILEGES ON DATABASE mydb TO first;授予“优先”的所有权限

当我运行\dp时,“访问权限”列是空的,即使"first“可以访问所有表。

然后,我为特定的表授予“第二”特权:

GRANT SELECT ON mytable TO second;

然后,mytable权限如下所示:

代码语言:javascript
复制
first=arwdDxt/first+
second=r/first

然后,如果我从"second“获得REVOKE权限,那么"first”似乎仍然会获得该表的权限,也就是说,运行REVOKE ALL on mytable FROM second;会在"second“曾经拥有权限的每个表上留下这样的权限:

代码语言:javascript
复制
first=arwdDxt/first

我所期望的是,访问权限将再次为空白,而不会出现来自"first“的”剩余“访问权限。

为什么这个“剩余”访问特权仍然存在?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2023-01-27 15:05:36

表的原始状态(必须由“first”拥有)仅由空字符串表示,这意味着默认perms。但一旦受到干扰,你就会把烫伤拼出来。当你去掉多余的烫伤时,它们会被拼出来。它们的意思是一样的,只是拼写不同而已。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/322633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档