Postgresql 的多种身份验证方法

Fra*_*cis 7 postgresql ldap authentication

我目前使用“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 支持多种身份验证方法?

vor*_*aq7 6

不 -- 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 帐户使用一次性密码)。