Authentication
Postgresq 9.5l:使用 usermap 對等身份驗證使用者(提供的使用者名 (^dbuser^) 和經過身份驗證的使用者名 (^sysuser^) 不匹配)
在我的伺服器上,我試圖在 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
不是 offapp
。否則,您的配置看起來是正確的。您可能還需要在更改pg_hba.conf
.