Linux

在pg_hba.conf中理解postgreSQL的ident、md5、密碼

  • January 14, 2019

如果我有以下內容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嗎?我的意思是,身份驗證方法是一個抽象層,所以客戶端不知道密碼是如何檢查的?

postgresql 文件

具有匹配連接類型、客戶端地址、請求的數據庫和使用者名的第一條記錄用於執行身份驗證。沒有“fall-through”或“backup”:如果選擇了一條記錄並且認證失敗,則不考慮後續記錄。如果沒有記錄匹配,則拒絕訪問。

除了身份驗證之外,兩行完全相似的行將不會按照您喜歡的方式工作 - 只會使用第一行。所以是的,第二local條規則已經過時了。第二host行也是如此;它永遠不會覆蓋第一個。

引用自:https://serverfault.com/questions/512809