gpt4 book ai didi

postgresql - 如何防止用户能够看到其他数据库和其他数据库中的表?

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

我想创建一个只能访问 postgres 服务器上一个数据库的 postgres 用户。

目前我的流程是:

create database database1;
create user user1 with password 'pass';
grant all privileges on database database1 to user1;

但是 user1 仍然可以看到数据库、用户、表等的列表。有没有办法阻止该用户看到该信息?用户需要能够写入和读取该数据库。

非常感谢。

最佳答案

每个用户都可以看到列出的其他数据库和角色,但永远不能看到其他数据库中的表。

如果您撤销对除分配的数据库之外的所有数据库的 CONNECT 权限,用户将无法访问其他数据库的内容。

角色和数据库名称是全局的,不容易被阻止。您可以尝试 Frank Heikens 关于在系统表上有选择地撤销的建议,但这样做需要承担风险。 usenet 邮件列表上的 PostgreSQL 开发人员不鼓励篡改对系统目录的访问。

除其他工具外,Psql 假定它们可用,并且在没有它们的情况下功能很差。

为什么知道其他数据库和角色的名称会如此糟糕?

关于postgresql - 如何防止用户能够看到其他数据库和其他数据库中的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3349136/

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