With compatibility_level=2 in recent postfix versions, the default for the postfix daemons changed from chroot to non-chroot. While the page describes that it changed and what you can do to continue using chroot or stop using it, there are no reasons given.
Why did they change the default value? Is there any advantage in running it without chroot?
If you download the Postfix source code and examine the
HISTORY
file, you can see that this change was made on the 1st October 2014 (Snapshot 20141001):The corresponding git commit shows all the changes that were made to the source code and documentation at this time. Unfortunately, there’s little explanation of the reasons for changing this default setting.
As you’ve already noted, the Postfix Backwards-Compatibility Safety Net states that
And the Postfix Basic Configuration
Some Internet searching turned up a few clues to the rationale behind this change:
In a 2008 discussion on the use of chroot, Wietse said
Later in 2011
I also read the following in the
SASL_README
from Postfix 2.6:The text of this file has changed in more recent releases but this indicates that there were issues being caused by running the mail server in a chroot jail. Scanning through the archives of the postfix-users mailing list shows that this was causing problems with some users.
I personally run Postfix in a chroot jail and, while I don’t use
saslauthd
, I did have to take a few extra steps configuring milters so that they could communicate with chrooted Postfix daemons via Unix sockets.