Postgresql身份验证方法问题

时间:2014-05-27 11:12:09

标签: database postgresql security authentication

我想知道为什么postgres允许信任身份验证方法,因为它允许任何角色连接而无需提供密码!!

如果任何角色将pg_hba.conf更改为信任,那么服务器将是不安全的,并将打开任何具有任何密码的角色

我想在没有提供正确密码的情况下阻止与服务器的任何连接,那么我们如何防止这种情况呢?  为了保护postgres服务器,他们是否遵循任何最佳做法?

2 个答案:

答案 0 :(得分:2)

manual中所述,postgresql守护程序应作为单独的用户帐户运行,不会用于其他目的。数据目录及其中的所有文件应归该用户所有,并设置权限,以便只有该用户才能访问它。

用于初始化数据库集群的initdb命令将像这样设置它。

如果设置正确,只有postgres用户或root用户可以编辑pg_hba.conf。

信任方法背后的基本假设是用户是由环境预先验证的。例如,如果数据库未配置为侦听任何外部接口,并且您确定只有授权用户才能登录服务器。

Section 19.3.1更详细地描述了您可能希望使用“信任”的情况。方法

答案 1 :(得分:0)