Authentication

Postgresq 9.5l:使用 usermap 對等身份驗證使用者(提供的使用者名 (^dbuser^) 和經過身份驗證的使用者名 (^sysuser^) 不匹配)

  • June 27, 2017

在我的伺服器上,我試圖在 postgresql 9.5 安裝上使用使用者映射對一些使用者進行對等身份驗證。我正在嘗試做的是映射使用者 mailreader,如您所見:

postgres=# \du
                             List of roles
Role name  |                   Attributes                   | Member of 
------------+------------------------------------------------+-----------
mailreader |                                                | {}
postgres   | Superuser, Create role, Create DB, Replication | {}

進入系統的使用者root,dovecot,postfix。因此,我編輯了我的pg_ident.cong並放置了以下內容:

mailmap         dovecot                 mailreader
mailmap         postfix                 mailreader
mailmap         root                    mailreader

我還編輯了pg_hba.conf並附加了以下內容:

local    mail        all                     peer map=mailmap

當我嘗試通過sudo psql -U mailreader -d mail命令連接時,我得到:

psql:致命:使用者“mailreader”的對等身份驗證失敗

錯誤。

我還嘗試了以下配置:

local    mail            all                                     ident map=mailmap

沒有任何進展。

我可以幫忙嗎?

編輯 1

生成的有關錯誤的日誌是:

2017-06-27 19:10:10 UTC [1188-1] mailreader@mail LOG:  provided user name (mailreader) and authenticated user name (root) do not match
2017-06-27 19:10:10 UTC [1188-2] mailreader@mail FATAL:  Peer authentication failed for user "mailreader"
2017-06-27 19:10:10 UTC [1188-3] mailreader@mail DETAIL:  Connection matched pg_hba.conf line 90: "local   all             all  

最後我不得不評論這一行:

local   all             all                                     peer

或將其放在以下行下方:

local    mail            all                             ident map=mailmap

/etc/postgresql/9.4/main/pg_hba.conf存檔_

local mail app peer map=mailmap看起來不對,你想要all或者mailreader不是 off app。否則,您的配置看起來是正確的。您可能還需要在更改pg_hba.conf.

引用自:https://serverfault.com/questions/857642