trust
无条件允许连接。任何能连接到 PostgreSQL 数据库服务器的人都可以使用任意 PostgreSQL 用户身份登录,无需密码或任何其他认证。详情参见第 20.4 节。
当前查看 PostgreSQL 18.6。
说明
无条件允许连接。任何能连接到 PostgreSQL 数据库服务器的人都可以使用任意 PostgreSQL 用户身份登录,无需密码或任何其他认证。详情参见第 20.4 节。
- 方法
- trust
- 配置
- pg_hba.conf
- 清单
- 用户可见的源码认证方法
手册定义
20.4. 信任认证
20.4. 信任认证
当trust认证被指定时,PostgreSQL假设任何可以连接到服务器的人都被授权使用他们指定的任何数据库用户名(即使是超级用户)访问数据库。当然,在database和 user列中设置的限制仍然适用。只有当在操作系统层对进入服务器的连接有足够保护时,才应该使用这种方法。
trust认证对于单用户工作站的本地连接是非常合适和方便的。通常它本身不适用于一台多用户机器。不过,只要你利用文件系统权限限制了对服务器的 Unix 域套接字文件的访问,即使在多用户机器上,你也可能可以使用trust。要做这些限制,你可以设置第 19.3 节中描述的unix_socket_permissions配置参数(可能还有unix_socket_group)。或者你可以设置unix_socket_directories配置参数来把 Unix 域套接字文件放在一个经过恰当限制的目录中。
文件系统权限仅对 Unix 套接字连接有效,本地 TCP/IP 连接不受其限制。因此,如果要依靠文件系统权限提供本地安全性,应从 pg_hba.conf 中删除 host ... 127.0.0.1 ... 规则,或将其改为非 trust 认证方式。
只有当你信任 pg_hba.conf 中 trust 规则所允许的每台主机上的每个用户时,trust 认证才适合 TCP/IP 连接。除 localhost(127.0.0.1)以外,对其他 TCP/IP 连接使用 trust 通常都不合理。
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
版本比较
PostgreSQL 17 → 18: 无变化。
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回认证方法 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。