PostgreSQL教程(5)访问控制文件 pb_hba.conf 配置说明

PostgreSQL教程(5)访问控制文件 pb_hba.conf 配置说明

一、PostgreSQL客户端认证说明

pb_hba.conf 用于实现PGSQL的访问控制,通过该文件可以实现基于主机的认证,其作用类似于操作系统的防火墙,通过认证配置来控制允许哪些主机、哪些用户可以访问数据库。由于该配置文件在PGSQL部署完成以后就会默认创建并且没有配置相关的放行规则,这也是为什么PGSQL数据库在安装完成后无法进行远程连接的最主要原因

二、pg_hba.conf 文件配置说明

该配置文件默认存放在数据目录中。通过一条条记录来进行用户权限验证,规则的配置类似 visudo,从上往下逐行进行匹配,一旦被匹配上就按照该规则的方法进行处理,并且不再继续对后面规则进行匹配。所以在实际的配置中建议将精确规则写在最前面,范围大的规则写在后面

1、pg_hba.conf 配置示例

cat pg_hba.conf
#TYPE    DATABASE           USER          ADDRESS            METHOD
host      all           all          0.0.0.0/0               trust
host      test_db        tanglu           0.0.0.0/0              md5
host      all           all          127.0.0.1/32              ident map=testmap

#pg_ident.conf
testmap                 os_user          postgres

2、pg_hba.conf 字段说明

· TYPE:该字段用于配置客户端连接类型,使用较多的是local和host类型。local代表本地socket连接,登陆时不用指定IP地址;host是通过TCP/IP进行的连接

· DATABASE:指定具体的数据库名,如testdb,如果标识 all 代表任何数据库,标识为 replication 用于流复制

· USER:客户端连接时的用户名,all 代表所有用户

· ADDRESS:客户端具体的连接地址或者网段,127.0.0.1/32表示本机,0.0.0.0/0表示所有网络

· METHOD:具体的认证方法。trust代表该客户端被信任,无需密码即可登录;reject代表拒绝连接,相当于黑名单;如果要实现密码认证的话有scram-sha-256、md5和password三种方法,password和md5认证在安全性上都较低,所以推荐使用scram-sha-256。另外PGSQL还支持对操作系统上的用户进行映射实现认证登录的方式,使用到的方法是peer与ident,其区别是peer只能进行本地用户的认证,而ident支持网络连接。使用操作系统用户认证时还需要配合pg_ident.conf文件进行系统用户与数据库用户的映射

3、生效配置

该文件配置后需要重新加载才会生效

pg_ctl reload


文章评论

猜你喜欢

【MySQL 8.0】MySQL 8.0新特性介绍与升级方法

MySQL | Oracle 【MySQL 8.0】MySQL 8.0新特性介绍与升级方法

一、MySQL 8.0主要新特性截至2023年12月,MySQL官方发布的稳定版为8.0.35,另有一个MySQL8.2为创新版,所以暂不做考虑· 快速新增/删除列虽然 MySQL 在8.0 以前就已...

【MySQL 8.0】MySQL5.7升级MySQL8.0的步骤与常见问题

MySQL | Oracle 【MySQL 8.0】MySQL5.7升级MySQL8.0的步骤与常见问题

一、为什么推荐将MySQL从5.7升级到8.0MySQL5.7的生命周期已经在2023年10月结束,沿用老版本将存在以下问题:· 所有漏洞不再修复,如自增ID回退问题· 核心新特性无法使用,...

MySQL | Oracle Oracle教程(4)快照与AWR报告

Oracle教程(4)快照与AWR报告
Oracle教程(4)快照与AWR报告
Oracle教程(4)快照与AWR报告
Oracle教程(4)快照与AWR报告

一、Oracle 快照Oracle中的快照(Snapshot)是指数据库在某个时间点对性能相关的数据做的一次全量采集。包括:系统资源使用情况、Top SQL、IO 性能指标、SGA、PGA 使用情况。...

Oracle教程(3)Schema、用户与表空间

MySQL | Oracle Oracle教程(3)Schema、用户与表空间

在完成 Oracle安装后,登录数据库实例可以看到有很多的模式(Schema),这些模式都是为了支持数据库核心组件、特性扩展、管理任务或者示例而创建,对于这部分默认模式,通常不需要进行操作。在生产规范...

Oracle教程(2)Oracle19C命令行静默安装教程

MySQL | Oracle Oracle教程(2)Oracle19C命令行静默安装教程

在部分生产环境下可能并不支持通过图形化方式来安装Oracle数据库(比如需要脚本一键安装的场景),所以还需要了解通过命令行静默安装的方式来完整数据库的安装,以下是详细步骤一、系统环境配置部分1、确定内...