限制postgresql中的对象所有者无法向其他用户授予权限

时间:2017-10-16 16:55:57

标签: database postgresql

基本上 - 在postgres中,如何赋予db用户在模式中创建对象但不能将该对象的权限授予其他用户的能力。

2 个答案:

答案 0 :(得分:0)

听起来像是“默认权限”(IE,NEW对象的权限)。需要撤销“拨款选项”。

请记住,这只会影响新表/对象。您必须返回并手动更改旧对象的权限或创建脚本来执行此操作。

 alter default permissions
 for USER_HERE
 revoke grant option for all

答案 1 :(得分:0)

docs say

  

对象所有者的特权(即,执行DROP,GRANT,REVOKE等的权利)始终隐含在作为所有者,并且不能被授予或撤销。

由于无法撤销这些特权,我认为防止对象所有者授予或撤销权限的唯一方法是在创建对象后取消所有权(使其他用户成为所有者)。

但这似乎是一件奇怪的事情,我认为通过询问真正的问题而不是询问一个解决方案,你可能会得到更好的答案。也就是说,“如何阻止对象的所有者授予权限?”这不是真正的问题 - 它是未解决问题的一个“解决方案”。想想真正的问题是什么。