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