[Dovecot] Fwd: Dovecot cannot connect to PostgreSQL server

Chris Vaas chrisvaas at gmail.com
Mon Apr 28 07:08:05 UTC 2014


On Mon, Apr 28, 2014 at 8:51 AM, Chris Vaas <chrisvaas at gmail.com> wrote:

> On Mon, Apr 28, 2014 at 8:43 AM, Steffen Kaiser <
> skdovecot at smail.inf.fh-brs.de> wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On Sun, 27 Apr 2014, Chris Vaas wrote:
>>
>> [fixed ugly top posting]
>>
>>  On Sat, Apr 26, 2014 at 11:39 PM, Steffen <skdovecot at smail.inf.fh-brs.de
>>> >wrote:
>>>
>>>  -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>>
>>>> Chris Vaas wrote:
>>>>
>>>>> I am currently facing the following log output:
>>>>>
>>>>> Apr 26 16:40:28 h2290750 dovecot: auth: Error: pgsql(localhost):
>>>>> Connect failed to database mail: could not connect to server:
>>>>> Permission denied Apr 26 16:40:28 h2290750 dovecot: auth: Error:
>>>>> #011Is the server running on host "localhost" (::1) and accepting
>>>>> Apr 26 16:40:28 h2290750 dovecot: auth: Error: #011TCP/IP
>>>>> connections on port 5432?
>>>>>
>>>>> I have double checked the database. It is listening correctly and I
>>>>> can connect to it via
>>>>>
>>>>> psql -U mailreader mail
>>>>>
>>>>> I provided all necessary information to dovecot via this
>>>>> configuration snippet:
>>>>>
>>>>> driver = pgsql connect = host=localhost dbname=mail user=mailreader
>>>>> password=secret default_pass_scheme = SHA512
>>>>>
>>>>
>>>> does Postgres allow connections on "host ::1" for user mailreader ?
>>>> Actually I wonder, because I thought the Postgres lib defaults to
>>>> "local" (socket) by default on localhost -> does Postgres allow
>>>> connections on "local" for mailreader? Permissions are configured in
>>>> pg_hba.conf, but -> Does Postgres logs something? It should if PG
>>>> denies the connection.
>>>>
>>>
>>  I set the host to 127.0.0.1 now. And my pg_hba.conf looks like that:
>>>
>>> # TYPE  DATABASE        USER            ADDRESS                 METHOD
>>> # Mail stuff
>>> host    mail            mailreader      127.0.0.1/32            md5
>>> host    mail            mailreader      ::1/128                 md5
>>> local   all             all                                     md5
>>> host    all             all             127.0.0.1/32            ident
>>> host    all             all             ::1/128                 ident
>>>
>>
>> What about the "Does Postgres logs something?"
>>
>
> The log under /var/logs/pgsql is completely empty.
>
>>
>>  Do you have SELinux or something like that running?
>>>>
>>>
>> What about this question?
>>
>
> I do have a SELinux up and running, yeah.
>
>>
>>
>
>>  I remember that I had a server that had wrong permissions on:
>>>>
>>>> ls -al /var/run/postgresql
>>>>
>>>> drwxrwsr-x  2 postgres postgres 4096 Feb 10 07:32 ./
>>>> srwxrwxrwx  1 postgres postgres    0 Apr 26 23:15 .s.PGSQL.5432=
>>>>
>>>> the .s.PGSQL. socket is the local socket usually used for localhost
>>>> connections and automatically found by libpg.
>>>>
>>>
>>  The folder /var/run/postgresql is not existing on my machine.
>>>
>>
>> - -- Steffen Kaiser
>
>
> - Chris
>
>
I just looked into my SELinux audit log and found the following denial.

type=AVC msg=audit(1398609990.493:280): avc:  denied  { name_connect } for
 pid=5964 comm="auth" dest=5432
scontext=unconfined_u:system_r:dovecot_auth_t:s0
tcontext=system_u:object_r:postgresql_port_t:s0 tclass=tcp_socket

There seems to be a good chance, that this is my problem, doesn't it? But
how can I allow the connection?

Cheers
Chris


More information about the dovecot mailing list