gpt4 book ai didi

Postgresql:创建一个没有权限的新用户?

转载 作者:行者123 更新时间:2023-11-29 12:05:38 24 4
gpt4 key购买 nike

我正在学习 PostgreSQL。每次我创建用户时,他们似乎都拥有在任何数据库中执行任何操作的全部权限:

$ sudo useradd fool # create the user "fool" in the system
# And in postgresql, as restrictively as possible
$ sudo -u postgres createuser fool --no-superuser --no-createdb --no-createrole --no-inherit
$ sudo -u fool psql postgres # but it can still connect to the "postgres" db
postgres=> drop table ids; # and delete tables
DROP TABLE

我尝试通过 the create user PostgreSQL command 创建用户而不是 command-line tool但它具有完全相同的效果。

如何创建一个只有权限访问自己数据库的用户?或者我是否必须在创建用户后专门撤销所有权限? '因为从安全角度来看这有点糟糕 - 很容易不小心忘记(或者只是不知道有必要)撤销新用户的权限。

最佳答案

所有角色都是伪角色PUBLIC 的“成员”。默认情况下 PUBLIC 有很多权限。我的做法是在我需要的地方撤销PUBLIC的所有权限,并将各种组合授予特定角色。最近的添加对此有所帮助 - ALTER DEFAULT PRIVILEGES .另一种不太灵活但更简单的方法是 CONNECT特权。

关于Postgresql:创建一个没有权限的新用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20459504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com