如何在默认情况下撤销 PostgreSQL 中函数的执行权限
How to Revoke Execute Privileges on Functions in PostgreSQL by Default
我正在尝试使用命令 ALTER DEFAULT PRIVILEGES...
在 PostgreSQL 9.5.4 中设置默认权限。这在尝试授予权限时有效,但我不知道如何默认撤销函数的执行权限。我试过:
ALTER DEFAULT PRIVILEGES FOR USER myAdmin IN SCHEMA public
REVOKE EXECUTE ON FUNCTIONS FROM public;
这似乎对 \ddp
的输出没有影响。有没有办法防止功能被所有者以外的用户执行,除非另有授权?谢谢
如果用ALTER DEFAULT PRIVILEGES
指定IN SCHEMA
,则只能授予权限,不能撤销权限.
Default privileges that are specified per-schema are added to whatever the global default privileges are for the particular object type.
因此,您必须通过将命令更改为:
来撤销全局默认权限
ALTER DEFAULT PRIVILEGES FOR USER myAdmin
REVOKE EXECUTE ON FUNCTIONS FROM public;
我正在尝试使用命令 ALTER DEFAULT PRIVILEGES...
在 PostgreSQL 9.5.4 中设置默认权限。这在尝试授予权限时有效,但我不知道如何默认撤销函数的执行权限。我试过:
ALTER DEFAULT PRIVILEGES FOR USER myAdmin IN SCHEMA public
REVOKE EXECUTE ON FUNCTIONS FROM public;
这似乎对 \ddp
的输出没有影响。有没有办法防止功能被所有者以外的用户执行,除非另有授权?谢谢
如果用ALTER DEFAULT PRIVILEGES
指定IN SCHEMA
,则只能授予权限,不能撤销权限.
Default privileges that are specified per-schema are added to whatever the global default privileges are for the particular object type.
因此,您必须通过将命令更改为:
来撤销全局默认权限ALTER DEFAULT PRIVILEGES FOR USER myAdmin
REVOKE EXECUTE ON FUNCTIONS FROM public;