On this page
20.4. 信任认证
当指定trust
身份验证时,PostgreSQL 假定可以连接到服务器的任何人都可以使用他们指定的任何数据库用户名(甚至超级用户名)访问数据库。当然,在database
和user
列中所做的限制仍然适用。仅在与服务器的连接上具有足够的 os 级保护时,才应使用此方法。
trust
身份验证适用于单用户工作站上的本地连接,并且非常方便。通常,在多用户计算机上,它本身*不**适用。但是,如果使用文件系统权限限制对服务器的 Unix 域套接字文件的访问,则即使在多用户计算机上也可以使用trust
。为此,请按照Section 19.3中的说明设置unix_socket_permissions
(可能还有unix_socket_group
)配置参数。或者,您可以设置unix_socket_directories
配置参数以将套接字文件放置在适当限制的目录中。
设置文件系统权限仅对 Unix 套接字连接有所帮助。本地 TCP/IP 连接不受文件系统权限的限制。因此,如果要将文件系统权限用于本地安全,请从pg_hba.conf
删除host ... 127.0.0.1 ...
行,或将其更改为非trust
身份验证方法。
如果您通过指定trust
的pg_hba.conf
行信任每台允许连接到服务器的计算机上的每个用户,则trust
身份验证仅适用于 TCP/IP 连接。对于 localhost(127.0.0.1)以外的任何 TCP/IP 连接,都很少使用trust
。