# 数据库链接_连接_你

数据库链接_连接_u — 不安全地打开到远程数据库的持久连接

# 概要

dblink_connect_u(text connstr) returns text
dblink_connect_u(text connname, text connstr) returns text

# 描述

dblink_connect_u()等同于dblink_connect(),除了它将允许非超级用户使用任何身份验证方法进行连接。

如果远程服务器选择不涉及密码的身份验证方法,则可能会发生冒充和随后的特权升级,因为会话似乎源自运行本地 PostgreSQL 服务器的用户。此外,即使远程服务器确实需要密码,也可以从服务器环境提供密码,例如~/.pgpass属于服务器用户的文件。这不仅带来了冒充的风险,而且还可能将密码暴露给不可信的远程服务器。所以,dblink_connect_u()最初安装时已撤销所有权限上市,使其无法被超级用户调用。在某些情况下,授予执行许可dblink_connect_u()对于被认为值得信赖的特定用户,但应谨慎行事。还建议任何~/.pgpass属于服务器用户的文件不是包含指定通配符主机名的任何记录。

有关详细信息,请参阅dblink_connect().