【问题标题】:PostgreSQL multiple authentication methodsPostgreSQL 多种认证方式
【发布时间】:2012-07-11 16:14:34
【问题描述】:

如何为同一主机/数据库/用户规则设置多种身份验证方法?我希望能够同时使用sudo -u postgres psql -U postgres(无需输入PostgreSQL 密码)和psql -U postgres --password 登录我的postgres 用户。 pg_hba.conf 中类似以下内容:

local   all             postgres                        md5
local   all             postgres                        peer

我只能让一种方法或另一种方法同时工作。

谢谢。

(我使用的是 PostgreSQL 9.1)。

【问题讨论】:

    标签: postgresql authentication postgresql-9.1


    【解决方案1】:

    不。任何给定配置仅支持一种身份验证方法。

    如果 Pg 可以支持后备身份验证,我会喜欢它,如果身份检查失败,它允许 md5 身份验证。不过,它目前不支持此功能,我怀疑(我尚未验证)需要更改协议才能支持它。

    可以做的是将密码存储在$HOME/.pgpass 文件中,供postgres 系统用户使用。将其设置为 0600 模式,以便它只能由 postgres 用户和 root 读取,无论如何,他们都可以直接访问数据库文件和配置。这样您就可以轻松管理 md5 身份验证。在某些系统上,您可能必须先为postgres 用户设置和创建主目录,然后才能执行此操作。查看getent passwd postgres 以查看postgres 用户是否有homedir,如果有,它在哪里。

    UPDATE:用来读取$HOME/.psqlrc——这很有用,但.pgpass适合密码存储)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-17
      • 2013-10-19
      • 2016-02-05
      • 2013-12-01
      • 1970-01-01
      • 2013-11-06
      • 2021-02-20
      • 1970-01-01
      相关资源
      最近更新 更多