PostgreSQL教程(5)pb_hba.conf 配置与数据库远程登录
一、PostgreSQL 基于主机认证介绍
PGSQL通过 pb_hba.conf 文件可以实现基于主机的认证,其作用类似于操作系统的防火墙,通过认证配置来控制哪些主机、哪些用户是否可以访问数据库。该配置文件在PG实例初始化后会自动创建,并且没有配置相关的放行规则,这也是为什么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 #为dba用户放行,可以通过任何主机连接数据库 host all dba 0.0.0.0/0 scram-sha-256
· TYPE:该字段用于配置客户端连接类型,local代表本地socket连接;host是通过TCP/IP进行的连接;hostssl表示SSL加密连接
· DATABASE:指定具体的数据库,使用 all 表示所有数据库;replication 用于流复制
· USER:客户端连接时的用户名,使用 all 表示所有用户
· ADDRESS:客户端连接地址,127.0.0.1/32表示本机;0.0.0.0/0表示所有网络;ipaddr/netmask表示具体某个主机;host_name表示/etc/host文件中存在的主机
· METHOD:指定认证方法,trust代表该客户端被信任,无需密码认证;scram-sha-256、md5和password三种方法实现密码认证,password和md5在安全性上较低,推荐使用scram-sha-256;reject代表拒绝连接,相当于黑名单;此外还有peer和ident两种双认证方法,主要用于实现操作系统用户映射和操作系统用户+数据库用户双认证
2、修改监听地址
vi $PGDATA/postgresql.conf #主要修改内容 listen_addresses = '*' port = 5432
3、创建管理账号
用postgres用户登录psql后执行
CREATE ROLE [账号名] WITH LOGIN PASSWORD '[密码]' SUPERUSER CREATEDB CREATEROLE;
4、生效配置
listen_addresses改动必须重启才生效
pg_ctl restart -D $PGDATA
如果只改了pg_hba.conf,reload即可
pg_ctl reload -D $PGDATA
猜你喜欢
MySQL | Oracle Oracle教程(8)Oracle 19C 单实例调整为 ADG 架构
一、ADG架构介绍Active Data Guard 简称ADG,是 Oracle Data Guard 架构下给物理备库(Physical Standby)追加的一个功能,非ADG模式下的物理备库只...
MySQL | Oracle Oracle教程(7)RMAN 物理备份教程与实战
一、RMAN 介绍RMAN 是 Oracle 自带的物理备份工具,它的核心作用是保护数据库的物理完整性,确保在发生磁盘损坏、误删数据文件、服务器整体故障等灾难场景下能够将数据库恢复到某个可用的状态。R...
MySQL | Oracle Oracle运维管理——修改用户密码过期时间
在 Oracle 数据库中,用户的密码有效期通过PROFILE(资源限制配置文件)中的 PASSWORD_LIFE_TIME 参数控制。如果没有为用户单独创建 PROFILE,默认使用一个...
MySQL | Oracle Oracle教程(6)SGA\PGA\REDO核心参数调优
一、Oracle核心参数介绍1、SGASGA(System Global Area)是 Oracle 实例启动时分配的共享内存区域,所有连接到该实例的会话都共用这块内存,是整个数据库实例对外提供服务的...
MySQL | Oracle Oracle教程(5)数据泵逻辑备份教程与实战
一、数据泵介绍数据泵(Data Pump)是 Oracle 10g 开始引入的命令行逻辑备份与恢复工具。通过 expdp / impdp ,可以对所有数据库对象(模式、表数据、表空间等)进行高效导出和...
文章评论