Postgresql 中文操作指南

21.13. PAM Authentication #

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

PAM 支持以下配置选项:

  • pamservice

    • PAM service name.

  • pam_use_hostname

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

Note

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