9.3 9.4 9.5 9.6 10 11 12 13 14 15 16 17 Current(18)
PostgreSQL中文社区 问题报告 纠错本页面

20.13. PAM 认证 #

这种认证方法操作起来类似 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 或其他认证方法时,这就不是一个问题。