域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。
  • 方案1️⃣AXUM.RS 域名 = 3000
  • 方案2️⃣方案1️⃣ + 本站所有专题原始 Markdown 文档 = 5000
  • 方案3️⃣方案2️⃣ + 本站原始数据库 = 5500
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名(方案1️⃣),或者该域名到期,本站将启用新的免费域名继续提供服务。
  2. 如果有人购买了 AXUM.RS 域名,且同时购买了内容和/或数据库(方案2️⃣/方案3️⃣),本站将关闭。届时我们或许会以另一种方式与你再相遇。

客户端鉴权

本章将讨论 PostgreSQL 客户端鉴权。回到之前安装 PostgreSQL 时的一个问题,为什么在本地登录 PostgreSQL 时,不需要输入密码?本章将回答这个问题。

鉴权文件

该文件每一行定义一个鉴权,每一行由多个字段组成,分别是:

  • TYPE:类型。指定客户端连接的类型
    • local:本地 unix socket 连接
    • hostipv4/ipv6 的TCP连接
  • DATABASE:数据库,指定客户端可连接的数据库。如果允许全部数据库,则使用 all
  • USER:用户,指定客户端连接使用的角色名。如果允许全部角色,则使用 all
  • ADDRESS:允许发起连接的客户端IP
    • ipv4:
      • 本机:127.0.0.1/32
      • 所有IP:0.0.0.0/0
    • ipv6:
      • 本机:::1/128
      • 所有IP:::/0
  • METHOD:鉴权方式。常用的有两种:
    • trust:信任客户端,无需密码即可连接。通常用于本地连接
    • md5:需要密码连接,使用 MD5 对密码进行加密
  • ipv4:
    • 本机:127.0.0.1/32
    • 所有IP:0.0.0.0/0
  • ipv6:
    • 本机:::1/128
    • 所有IP:::/0
  • 本机:127.0.0.1/32
  • 所有IP:0.0.0.0/0
  • 本机:::1/128
  • 所有IP:::/0

是否启用 TLS 不是由该文件控制,而是由 postgres.conf 控制

内置规则

让我们看一下内置规则:

这三条规则分别表示 :

  • 本地 unix socket 连接:所有数据库、所有用户都是信任的,无需密码
  • 本地IPV4回环地址的TCP连接:所有数据库、所有用户都是信任的,无需密码
  • 本地IPV6回环地址的TCP连接:所有数据库、所有用户都是信任的,无需密码

自定义规则

现在,我们为 axum_rs 角色添加规则:

  • 允许所有 ipv4 连接
  • 允许所有 ipv6 连接
  • 使用 axum_rs 数据库
  • 需要指定密码,密码使用 md5 加密
#type database user address method
host axum_rs axum_rs 0.0.0.0/0 md5
host axum_rs axum_rs ::/0 md5
要查看完整内容,请先登录