Postfix - mail_queue_enter: create file maildrop Permission denied

Written by Peter Davies on .

In this scenerio, it was related to an accidental "chown" on "/etc/init.d" causing all permissions to be messed up. For postfix the following can be run to identify possible issues:

Step One

/etc/init.d/postfix check
postfix/postfix-script: warning: not owned by group postdrop: /usr/sbin/postqueue
postfix/postfix-script: warning: not owned by group postdrop: /usr/sbin/postdrop
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop

Step Two

So by running the following you can solve the discovered issues:

chown -R root:postdrop /usr/sbin/postqueue
chown -R root:postdrop /usr/sbin/postdrop
chmod g+s /usr/sbin/postqueue /usr/sbin/postdrop
killall -9 postdrop
postfix reload

After running you can check the following files for errors:

nano /var/log/mail.info
nano /var/log/mail.err

Further to this in Virtualmin I ran:

/etc/webmin/virtual-server/lookup-domain.pl account_name

Which returned a value for the domain, but it showed and odd error in:

nano /var/log/procmail.log

So, this could be corrected with:

chmod 4755 /usr/bin/procmail-wrapper

Then sit back and watch some e-mails... all ok it seems!
NB: I did a further issue (possibly network related) stating that a Perl module (URIDNSBL.pm line 701) had an "uninitialized value" - no obvious solution even with Google's help.

UPDATE: What I didn't spot/mention was an error just prior to this one stating "Received.pm line 357". The solution was found and implemented and only required installing 3 perl modules by running:

apt-get install libnet-dns-perl