Postgres 权限管理,指定IP访问,禁止public下创建新表

最近需要做一个pg库的权限管理分配. 也就是创建一个用户,只允许制定IP访问,同时只有增删改查权限.

1.设置监听
vi postgresql.conf, 开启监听,设置端口

listen_addresses = '*'
port = 5432

2 .设置IP访问列表
vi pg_hbd.conf

#TYPE      DATABASE       USER          ADDRESS         METHOD

host       testdb          testuser    192.168.1.13/32    MD5

这里就是允许testuser从 192.168.1.13 这唯一的一个IP访问testdb数据库,并使用密码认证。

3 . 开始设置权限
当你开始建立一个新库的时候,系统会自动创建一个public的schema,正常情况下,普通用户创建的表 都在public下。默认情况下,普通用户是有在public下创建表的权限。
那么我们想建立一个只有增删改查权限的user,就要做到2点,
第一,禁止它在public下面有创建或者DDL的权利。
第二,改变这个用户的默认schema,并管理用户在这个schema下的读写权限。

PS: 这里需要注明下,oracle的schema是与用户名一样的。而pg的schema,普通用户默认是public。也可以指定用户的schema名称。也可以把多个用户名指定到同一个schema下面。

第一步: 禁止public下的创建权限

revoke  create  on schema public from public;
revoke  all  on schema public from public;

可以all 也可以仅仅禁止create。

第二步:

创建新schema并设置权限

show search_path
create schema app;
set search_path to apps;

也可以修改库级别的search_path

alter database "testdb" set search_path to app;(看清需求再使用)

设置权限:

alter default privileges in schema app grant selectinsertupdatedelete,reference on tables to testuser;

grant usage on schema app to testuser;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方-phantom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值