了解 pg_hba.conf 中的 postgreSQL ident、md5、密码

了解 pg_hba.conf 中的 postgreSQL ident、md5、密码

如果我在我的pg_hba.conf

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               trust
local   all         all                               ident
host    rt4         rt_user     127.0.0.1/32          md5
host    rt4         rt_user     127.0.0.1/32          password

当我没有任何内容时pg_ident.conf,第二条local规则是否就过时了?

第一host行是否被第二行否决了?

由于客户端(Web 应用程序)将使用 连接到数据库localhost,那么我选择md5或是否重要password?我的意思是,身份验证方法是否是一个抽象层,因此客户端不知道如何检查密码?

答案1

postgresql 文档

第一个具有匹配的连接类型、客户端地址、请求的数据库和用户名的记录用于执行身份验证。没有“失败”或“备份”:如果选择了一条记录并且身份验证失败,则不会考虑后续记录。如果没有匹配的记录,则拒绝访问。

两行代码除了身份验证之外完全相似,但不会按照您喜欢的方式工作 - 只会使用第一行。所以是的,第二条local规则已经过时了。第二行也是如此host;它永远不会覆盖第一行。

相关内容