postgresql限制某个用户仅连接某一个数据库

本文介绍了如何在PostgreSQL中限制用户权限,确保只有特定用户能连接到指定数据库。首先,创建了一个名为bbb的数据库并设置用户b为所有者。然后,通过收回public的connect权限,阻止了其他用户如c连接到bbb数据库。尽管如此,数据库所有者b和超级用户仍能正常连接。此外,还提到了通过修改pg_hba.conf文件来进一步限制用户连接的方法。
摘要由CSDN通过智能技术生成

创建数据库bbb且owner为用户b:
postgres9.6@[local]:5432 postgres# create database bbb owner  b;
CREATE DATABASE
Time: 259.099 ms

默认情况下使用用户c也可以连接数据库bbb:
postgres9.6@[local]:5432 postgres# \c bbb c
You are now connected to database "bbb" as user "c".

回收public的connect on database bbb权限:
c@[local]:5432 bbb# \c postgres postgres9.6
You are now connected to database "postgres" as user "postgres9.6".
postgres9.6@[local]:5432 postgres# revoke connect on database bbb from public;
REVOKE
Time: 2.088 ms

此时用户c没有了连接数据库bbb的权限:
postgres9.6@[local]:5432 postgres# \c bbb c
FATAL:  permission denied for database "bbb"
DETAIL:  User does not have CONNECT privilege.
Previous connection kept

但bbb数据库的owner用户b可以连接数据库:
p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值