此认证方法的操作方式类似于 password
,但它使用 PAM(可插拔认证模块)作为认证机制。默认的 PAM 服务名称是 postgresql
。PAM 仅用于验证用户名/密码对,并可选择验证连接的远程主机名或 IP 地址。因此,用户必须已存在于数据库中,才能使用 PAM 进行身份验证。有关 PAM 的更多信息,请阅读 Linux-PAM 页面。
PAM 支持以下配置选项
pamservice
PAM 服务名称。
pam_use_hostname
确定是通过 PAM_RHOST
项将远程 IP 地址还是主机名提供给 PAM 模块。默认情况下,使用 IP 地址。将此选项设置为 1 可改为使用已解析的主机名。主机名解析可能会导致登录延迟。(大多数 PAM 配置不使用此信息,因此只有在专门创建 PAM 配置来使用此信息时才需要考虑此设置。)
如果 PAM 设置为读取 /etc/shadow
,则身份验证将失败,因为 PostgreSQL 服务器是由非 root 用户启动的。但是,当 PAM 配置为使用 LDAP 或其他身份验证方法时,这不是问题。
如果您发现文档中有任何不正确、与您使用特定功能的经验不符或需要进一步说明的地方,请使用此表单报告文档问题。