在我的服务器上,我试图在 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 mail app peer map=mailmap
看起来不对,你想要all
或者mailreader
不是 offapp
。否则,您的配置看起来是正确的。您可能还需要在更改pg_hba.conf
.最后我不得不评论这一行:
或将其放在以下行下方:
/etc/postgresql/9.4/main/pg_hba.conf
存档_