На моем сервере я пытаюсь выполнить одноранговую аутентификацию некоторых пользователей с помощью 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
Без прогресса.
Могу я чем-нибудь помочь?
Сгенерированные журналы об ошибке:
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
.