Redrock Postgres 搜索 英文
版本: 11 / 12 / 13 / 14 / 15 / 16

21.4. 信任身份验证 #

当指定 trust 身份验证时,PostgreSQL 假设任何可以连接到服务器的人都有权使用他们指定的任何数据库用户名(即使是超级用户名称)访问数据库。当然,在 databaseuser 列中进行的限制仍然适用。只有在对连接到服务器的操作系统级别保护足够的情况下才应使用此方法。

trust 身份验证对于单用户工作站上的本地连接来说是适当且非常方便的。它通常 适用于多用户计算机。但是,如果你使用文件系统权限来限制对服务器 Unix 域套接字文件的访问,你甚至可以在多用户计算机上使用 trust。为此,请按照 第 20.3 节 中所述设置 unix_socket_permissions(可能还有 unix_socket_group)配置参数。或者,你可以设置 unix_socket_directories 配置参数,将套接字文件放在适当受限的目录中。

设置文件系统权限仅对 Unix 套接字连接有帮助。本地 TCP/IP 连接不受文件系统权限限制。因此,如果你想对本地安全性使用文件系统权限,请从 pg_hba.conf 中删除 host ... 127.0.0.1 ... 行,或将其更改为非 trust 身份验证方法。

trust 身份验证仅适用于 TCP/IP 连接,前提是你信任通过指定 trustpg_hba.conf 行允许连接到服务器的每台计算机上的每个用户。除了来自 localhost(127.0.0.1)的 TCP/IP 连接之外,很少有理由对其他任何 TCP/IP 连接使用 trust