Re: deliver fails because of a permission issue with SSL private key file

Philip Iezzi via dovecot <[email protected]>
Newsgroups gmane.mail.imap.dovecot
Message-ID <[email protected]>
Thank you very much, Aki!
After wasting 3+ hrs on this today, I stepped over this thread - just in time.
This workaround works perfectly and I appreciate you are going to fix it for good it in the next release.

Just for those who still struggle with it:

Use `!include_try ssl.conf` (not `try_include` as posted by Aki). And if you have your ssl_server_key_file already in conf.d/10-ssl.conf, you might already be using include_try in your dovecot.conf as provided by Debian packages:

!include_try conf.d/*.conf

So you just need to make sure only root can read it:
$ chmod 640 conf.d/10-ssl.conf
And the include_try will silently fail for dovecot-lda (invoked by Postfix and ideally running under user dovecot, or even a more restricted user vmail).

Cheers,
Philip



> On 18 Feb 2026, at 08:02, Aki Tuomi via dovecot <[email protected]> wrote:
> 
> On February 18, 2026 8:05:58 AM GMT+02:00, Martin McClure via dovecot <[email protected] <mailto:[email protected]>> wrote:
>> Thanks, Ralph.
>> 
>> OK, that makes sense. Dovecot reads the config file (not a bug) and if it sees the name of the ssl key_file it tries to read /that/ file (yeah, that sounds very much like a bug) and when it can't it bails. It should only try to read the cert/key files if it is going to need to use them.
>> 
>> And wrapping the cert/key filenames in a config file that is itself unreadable is evil and clever and, well, useful in this case.
>> 
>> Regards,
>> 
>> -Martin
>> 
>> 
>>  On 2/17/26 6:33 PM, Ralph Seichter via dovecot wrote:
>>> * Martin McClure via dovecot:
>>> 
>>>> Is this expected behavior in 2.4, or is it considered a bug?
>>> I'm not Aki, but since I ran into the same issue a while back: I'd like
>>> to repeat that I do consider this to be a bug. It also affects doveadm
>>> use, for example.
>>> 
>>> The problem occurs when a non-root process triggers evaluation of the
>>> Dovecot config and is unable to read the TLS key files. Protecting these
>>> files is of course important, and some random user invoking doveadm in
>>> their command shell should have no reason to access sensitive files.
>>> IMO, Dovecot should not even attempt to read TLS related files in this
>>> case. They are not needed at this time.
>>> 
>>>> If it's expected behavior, why does this workaround work?
>>> The "!include_try foo.conf" succeeds when run as root, e.g. during
>>> Dovecot startup, but fails silently for non-root owned processes. That's
>>> why it works as a workaround.
>>> 
>>> -Ralph
>>> _______________________________________________
>>> dovecot mailing list [email protected] <mailto:[email protected]>
>>> To unsubscribe send an email [email protected] <mailto:[email protected]>
> This is indeed a bug. It should get fixed in next release.
> 
> Aki
> 
> _______________________________________________
> dovecot mailing list -- [email protected] <mailto:[email protected]>
> To unsubscribe send an email to [email protected] <mailto:[email protected]>

_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.