20.13. PAM 验证

除了使用 PAM(可插入身份验证模块)作为身份验证机制外,此身份验证方法的操作与password相似。默认的 PAM 服务名称是postgresql。 PAM 仅用于验证用户名/密码对以及可选的已连接远程主机名或 IP 地址。因此,用户必须已经存在于数据库中,然后才能使用 PAM 进行身份验证。有关 PAM 的更多信息,请阅读Linux-PAM Page

PAM 支持以下配置选项:

  • pamservice

    • PAM 服务名称。
  • pam_use_hostname

    • 确定是否通过PAM_RHOST项将远程 IP 地址或主机名提供给 PAM 模块。默认情况下,使用 IP 地址。将此选项设置为 1 可改为使用解析的主机名。主机名解析可能导致登录延迟。 (大多数 PAM 配置不使用此信息,因此,只有专门创建 PAM 配置来使用它时,才需要考虑此设置.)

Note

如果将 PAM 设置为读取/etc/shadow,则身份验证将失败,因为 PostgreSQL 服务器是由非 root 用户启动的。但是,当 PAM 配置为使用 LDAP 或其他身份验证方法时,这不是问题。