当前位置:   article > 正文

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

/pg_hba.conf

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:该模式表示拒绝所有请求。

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号