撤消从对象所有者继承的角色的权限

时间:2013-09-24 15:00:10

标签: postgresql roles privileges

我已完成这套说明:

    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;

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

1 个答案:

答案 0 :(得分:0)

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

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