Hi Timo,
ok, when dovecot starts up, it creates the socket files in /usr/local/var/run/dovecot for the auth and a variety of other socket stuff you have going on. It creates these socket files with root ownership.
But I have in the config files that dovecot is running as a particular user (in this case uid100 and gid100) to match the global mail systems needs.
I use qmail as the delivery agent, and when qmail envokes deliver, I get the following errors in the qmail log files :
@400000004c1b18f22ea7a05c delivery 1497: deferral: lda:_Error:_userdb_lookup:_connect(/usr/local/var/run/dovecot/auth-userdb)_failed:_Permission_denied_(euid=100(sn)_egid=100(sn)_missing_+w_perm:_/usr/local/var/run/dovecot/auth-userdb,_euid_is_not_dir_owner)/lda:_Fatal:_Internal_error_occurred._Refer_to_server_log_for_more_information./
Now, from what I can tell, this is complaining that the socket doesn't have write permission for the group, because it is owned by root and created with only 600 permissions...I can chmod the file to add the rw for the group, and then it appears to start working ok, but if I stop and start dovecot, it will only re-create those files with the 600 permissions...
It appears that this is not happening in the version 1.2.11 code base as I this machine is a new one that I am testing 2.0 code on...
Am I missing a proper setting somewhere?
here is my dovecot -l :
# 2.0.beta6: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 8.0-RELEASE-p3 i386 auth_username_format = %Lu auth_username_translation = %@ auth_verbose = yes disable_plaintext_auth = no dotlock_use_excl = yes first_valid_uid = 100 listen = * lock_method = dotlock log_path = /local/logs/dovecot.errors mail_gid = 100 mail_location = maildir:%h/Maildir mail_nfs_index = yes mail_nfs_storage = yes mail_uid = 100 mmap_disable = yes passdb { args = /bin/checkpassword_dovecot_auth driver = checkpassword } plugin { quota = maildir sieve = ~/.dovecot.sieve sieve_dir = ~/Maildir/sieve } protocols = imap pop3 managesieve quota_full_tempfail = yes ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem userdb { driver = prefetch } userdb { args = /bin/checkpassword_dovecot_deliver driver = checkpassword } verbose_proctitle = yes protocol pop3 { pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } protocol lda { mail_plugins = quota sieve } protocol imap { mail_plugins = quota imap_quota }
Thanks,
Tim.