
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
猜你喜欢

PostgreSQL PostgreSQL教程(7)用户权限与角色管理
一、PostgreSQL 用户与权限介绍· 用户:用于访问和管理 PostgreSQL 数据库中的各种对象。按照数据库使用规范,建议为每一个数据库用户分配合适的权限,避免因权限过大而产生数据泄露、丢失...

PostgreSQL PostgreSQL教程(6)VACUUM碎片清理与并行查询特性
一、VACUUM 机制介绍1、VACUUM作用VACUUM是PostgreSQL中的碎片维护机制,用于清理和回收无效数据。由于 PostgreSQL 的 MVCC 机制实现原理与MySQL不同,它并不...

MySQL MySQL教程(9)视图、触发器与存储过程
一、数据库视图数据库视图是将查询语句进行封装而形成的虚拟表,这些虚拟表可以用于正常的查询和修改操作1、视图的应用场景· 将复杂的查询语句进行封装,简化查询命令· 可以灵活的对一些敏感表中的特定字段进行...

MySQL MySQL教程(8)存储引擎原理与日志机制
一、MySQL存储引擎介绍数据库存储引擎可以理解为是数据库的文件系统,MySQL主要存储引擎有MyISAM、InnoDB、Memory、TokuDB、CSV等。存储引擎位于表级别,通过不同的存储引擎来...

MySQL MySQL教程(7)MySQL事务特性与隔离级别
一、MySQL事务介绍1、MySQL事务特性MySQL事务有4大特性,分别是原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)...
文章评论