Назад | Перейти на главную страницу

Postgresql 9.5l: одноранговая аутентификация пользователя с помощью usermap (предоставленное имя пользователя (^ dbuser ^) и аутентифицированное имя пользователя (^ sys user ^) не совпадают)

На моем сервере я пытаюсь выполнить одноранговую аутентификацию некоторых пользователей с помощью usermap в установке postgresql 9.5. Я пытаюсь отобразить программу чтения почты пользователя, как вы можете видеть:

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: FATAL: ошибка аутентификации однорангового узла для пользователя 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 вместо выключения app. В противном случае ваша конфигурация выглядит правильно. Вам также может потребоваться перезагрузить postgres после изменения pg_hba.conf.