客户端认证
主要介绍sys_hba.conf 和sys_ident.conf的使用
一、对于sys_hba.conf 文件的概述
1、该文件控制客户端在访问服务器时给予主机的连接认证
2、在调用initdb执行数据库目录初始化时,会在数据目录中默认部署这个文件
3、他可以配置一下策略
策略 |
---|
更多操作允许哪些用户连接到哪些数据库 |
允许用户从哪些ip或哪些网段的ip连接到服务器 |
指定用户连接时使用身份验证模式 |
强制拒绝哪些用户从哪些网络地址登录到哪些数据库 |
4、文件格式
生效字段行:
连接类型 库名 用户名 客户端ip(或ip段) 认证模式
(生效行记录各字段之间以空格分开)
5、用户登录验证说明
(1)服务器在用户登录时需要匹配文件子中的配置策略,从前往后顺序查找
(2)找到匹配的配置后不再往后查找,允许用户连接
(3)如果没有找到满足的配置,则拒绝用户连接并且用户端发送错误提示。
字段名以及参数
type 表示主机连接的类型: |
---|
local 表示unix-domain 的socket连接,只能在服务器本地登录 |
host 表示tcp/ip 连接(ssl和非ssl) |
hostssl表示ssl加密的tcp/ip 连接 |
hostnossl 表示不使用ssl的tcp/ip 连接 |
database 表示数据库名称,值可能为: |
---|
all ,表示匹配所有的数据库 |
sameuser,与用户同名的库 |
replication ,允许流复制连接 |
数据库名称 |
多个数据库名称用逗号分割 |
@前缀可声明一个包含数据库的清单 |
user 表示登录用户值可能为: |
---|
all 表示可以匹配任意用户 |
一个用户名 |
多个用户名可以使用逗号 分割 |
+前缀可声明一个组 |
@前缀可声明一个包含用户名的文件清单 |
address 该参数可以是 |
---|
主机名称 |
ip/mask |
192.168.100.111/32 表示一个ip |
192.168.100.0/24 表示一个网段 |
samenet 匹配同一个网段的任意ip地址 |
METHOD 选项 |
---|
trust 无条件允许连接 |
reject 无条件的拒绝连接 |
MD5 执行scram-sha-256 或 MD5验证以验证用户的密码 |
password 未加密的口令进行认证 |
ident 允许客户端上的特定操作系统用户连接到数据库 |
默认配置:
rd 未加密的口令进行认证 |
| ident 允许客户端上的特定操作系统用户连接到数据库 |
默认配置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UtffI0K7-1684920002671)(…/AppData/Roaming/Typora/typora-user-images/image-20230520094222304.png)]