我想向新用户 授予 读/写特权 ,这样他就可以无法访问其他数据库。
使用以下方法创建新用户后:
sudo -u postgres createuser <username>
该用户获得什么特权?
这就是我所需要的吗:
GRANT ALL PRIVILEGES ON my_db TO new_user;
只能访问一个数据库?
最好的方法是什么?
使用PostgreSQL 10
答案 0 :(得分:1)
默认情况下,PUBLIC
(所有人)被允许连接到所有数据库。因此,您必须撤销该特权,并更加明智地分发CONNECT
。
除此之外,您还必须确保每个用户在“他的&rdqou;中的所有模式上都拥有CREATE
数据库和所有表上的必要特权,因为数据库本身的特权不足以访问数据库中 中的对象。
使用REASSIGN OWNED
授予用户“ his&rdqou;中所有对象的所有权”可能是最简单的解决方案。数据库。