dblink_connect_u — 不安全地打开一个到远程数据库的持久连接
dblink_connect_u(text connstr) 返回 text
dblink_connect_u(text connname, text connstr) 返回 text
dblink_connect_u()
和dblink_connect()
一样,不过它将允许非超级用户使用任意认证方式来连接。
如果远程服务器选择了一种不涉及口令的认证方式,那么可能发生模仿以及后续的扩大权限,因为该会话看起来像由运行PostgreSQL的用户发起的。此外,即使远程服务器不要求一个口令,也可能从服务器环境提供该口令,例如一个属于服务器用户的~/.pgpass
文件。这带来的不只是模仿的风险,而且还有将口令暴露给不可信的远程服务器的风险。因此,dblink_connect_u()
最初是用所有从 PUBLIC
撤销的特权安装的,这让它只能被超级用户调用。在某些情况中,为dblink_connect_u()
授予EXECUTE
权限给可信的指定用户是合适的,但是必须小心。我们也推荐任何属于服务器用户的~/.pgpass
文件不能包含任何指定了一个通配符主机名的记录。
详见dblink_connect()
。
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。