Ldap
Postgresql 的多重身份驗證方法
我目前使用“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 帳戶使用一次性密碼)。