PostgreSQL(八)pg_hba.conf文件-实例连接访问控制

本文详细介绍了PostgreSQL中的实例访问控制机制,包括使用pg_hba.conf配置文件进行权限管理和各种连接类型的设置,如本地、SSL、replication等。强调了认证方法的安全性与顺序规则。
摘要由CSDN通过智能技术生成

1、实例访问控制,控制来自不同主机、不同用户是否允许访问指定的数据库,以及验证方式等。

2、PG的实例访问控制,使用编辑pg_hba.conf配置文件实现。(HBA表示基于主机的认证)

3、在 initdb初始化数据目录($PGDATA)时,它会安装一个默认的pg_hba. conf文件。后期也可以手动把认证配置文件放在其它地方。

4、pg_ hba.conf文件的常用格式是一组记录,每行一条。

空白行将被忽略,#注释字符后面的任何文本也被忽略。记录不能跨行。

5、一条记录由若干用空格/或制表符分隔的域组成。如果域值用双引号包围,那么它可以包含空格。

在数据库、用户或地址域中引用一个关键字(例如,all或replication)将使该词失去其特殊含义,并且只是匹配一个有该名字的数据库、用户或主机。

6、具体名单格式:

Type

连接类型

local:本地连接,支队unix、linux系统有效,使用socket当时登录

host:表示主机通过TCP/IP连接

hostssl:表示主机连接需要ssl加密方式连接

database

连接的数据库名

all:表示所有数据库

$db_name:表示指定的数据库

replication:表示主备复制时的连接

user

连接的用户名

all:表示所有用户

$user_name:表示指定用户

+$group_name:表示一组用户

@$file_name:表示文件中包含的用户列表

address

访问的客户端主机

127.0.0.1/32:表示本地客户端主机

0.0.0.0/0:表示所有客户端主机

$host_name:表示指定的主机名(hosts文件中包含)

$ip_addr/$net_mask:表示指定的ip地址或网段

method

指定的验证方式

trust:信任客户端连接,无需提供密码

scram-sha-256:这是当前提供的方法中最安全的一种,但是旧的客户端库不支持这种方法。

md5:它能防止口令嗅探并且防止口令在服务器上以明文存储,但是无法保护攻击者想办法从服务器上窃取了口令哈希的情况。

password:方法password以明文形式发送口令,因此它对于口令“嗅探”攻击很脆弱。

ident:该模式下系统会将请求发起者的操作系统用户映射为 PG数据库内部用户,并以该内部用户的权限登录,且此时无需提供登录密码。操作系统用户与数据库内部用户之间的映射关系会记录在 pg_ident. conf文件中.

peer:该模式使用连接发起端的操作系统名进行身份验证。仅限于 Linux、BSD、Mac OS x和 Solaris,并且仅可用于本地服务器发起的连接。

reject:该模式表示拒绝所有请求。

规则:和顺序有关,在上者优先。(例如:拒绝的规则在上,同意的规则在下,则会拒绝。)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值