我想知道为什么postgres允许信任身份验证方法,因为它允许任何角色连接而无需提供密码!!
如果任何角色将pg_hba.conf更改为信任,那么服务器将是不安全的,并将打开任何具有任何密码的角色
我想在没有提供正确密码的情况下阻止与服务器的任何连接,那么我们如何防止这种情况呢? 为了保护postgres服务器,他们是否遵循任何最佳做法?
答案 0 :(得分:2)
如manual中所述,postgresql守护程序应作为单独的用户帐户运行,不会用于其他目的。数据目录及其中的所有文件应归该用户所有,并设置权限,以便只有该用户才能访问它。
用于初始化数据库集群的initdb命令将像这样设置它。
如果设置正确,只有postgres用户或root用户可以编辑pg_hba.conf。
信任方法背后的基本假设是用户是由环境预先验证的。例如,如果数据库未配置为侦听任何外部接口,并且您确定只有授权用户才能登录服务器。
Section 19.3.1更详细地描述了您可能希望使用“信任”的情况。方法
答案 1 :(得分:0)