Ldap

Postgresql 的多重身份驗證方法

  • March 18, 2022

我目前使用“md5”身份驗證從區域網路訪問:

host all all 192.168.1.0/24 md5

我想添加ldap認證方法,所以我之前添加了這一行:

host all all 192.168.1.0/24 ldap "ldap://192.168.1.2/basedn;uid=;,cn=xx,dc=yy,dc=zz,dc=ca"

這對 ldap 帳戶很有用,但是如果我嘗試使用 LDAP 伺服器上不存在的帳戶登錄,登錄會失敗(postgresql 不會嘗試 md5 身份驗證)。

有一種方法可以使用 postgresql 支持多個身份驗證方法嗎?

不————Since the pg_hba.conf records are examined sequentially for each connection attempt, the order of the records is significant.換句話說,“第一場比賽是我要使用的方法”。

在進行“所有使用者”LDAP 身份驗證之前,您必須明確列出所有本地 ( md5) 帳戶才能使其正常工作(並且維護pg_hba.conf文件開始變得棘手)。

作為一種解決方法,您可以使用pam身份驗證方法,並將 PAM 的“postgres”服務配置為使用您希望使用的任何方法(包括回退到替代方法),但這會將您限制為系統上安裝/配置的任何 PAM 模組。

(對於“限制”的適當廣泛定義——例如,如果您使用 PAM 作為身份驗證方法,您可以為 Postgres 帳戶使用一次性密碼)。

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