【问题标题】:Revoking privileges from role that inherits from object's owner撤销从对象所有者继承的角色的权限
【发布时间】:2013-09-29 21:05:44
【问题描述】:

我已经完成了这组指令:

    CREATE ROLE master
      SUPERUSER CREATEDB CREATEROLE
       VALID UNTIL 'infinity';

SET role = master;

CREATE TABLE test
(
  name text

)
WITH (
  OIDS=FALSE
);

ALTER TABLE test
  OWNER TO master;

CREATE ROLE inherited LOGIN
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT master TO inherited;


set role=master;
REVOKE select on test from inherited cascade;

任何人都可以告诉我为什么我仍然可以在表测试中执行 SELECT? 这个仍然有效:

set role=inherited;
select * from test;

角色继承在对象所有者之后继承 - 所以这可能是一个问题。但是有没有办法撤销选择?

【问题讨论】:

    标签: postgresql roles privileges


    【解决方案1】:

    您可以这样做,因为假定所有者对表具有完全权限。

    您还必须撤消对拥有角色的访问权限。

    【讨论】:

      猜你喜欢
      • 2016-10-14
      • 2018-09-29
      • 2021-08-26
      • 2011-10-19
      • 2016-07-13
      • 2021-01-17
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      相关资源
      最近更新 更多