Hi, this is my first post to the list after years of passive following every now and then. Dovecot: 2.0.13 (3d07ab746a67) prebuilt binaries from xi.rename-it.nl OS: i686 Debian 6.0 squeeze/sid I am about to run a setup where users are virtual and their mail is owned by vmail user. I bumped into minor client issue and needed to enable rawlogging according to http://wiki2.dovecot.org/Debugging/Rawlog This is what was printed to log at first try: Jun 29 21:46:25 (null)Fatal: This process must not be run as root I changed service postlogin to contain "user = vmail" and above error disapperead. I also tried "user = dovecot" which seem to work as well. Is vmail or dovecot user more appropriate for raw logging?>From wiki I got the impression that user must be same as the effective UIDof logged in user, which in my setup is vmail(121). Also, maybe the (null)Fatal -message could be improved(?). # dovecot -n # 2.0.13 (3d07ab746a67): /etc/dovecot/dovecot.conf # OS: Linux 2.6.26-1-686 i686 Debian squeeze/sid ext3 auth_debug = yes auth_verbose = yes debug_log_path = /var/log/dovecot/debug.log first_valid_gid = 123 first_valid_uid = 121 info_log_path = /var/log/dovecot/info.log last_valid_gid = 123 last_valid_uid = 121 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes lmtp_save_to_detail_mailbox = yes log_path = /var/log/dovecot/dovecot.log mail_debug = yes mail_location = maildir:/home/vmail/%n/Maildir managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date namespace { inbox = yes location = prefix = separator = / type = private } passdb { driver = pam } plugin { sieve = /home/vmail/%n/dovecot.sieve sieve_dir = /home/vmail/%n/sieve sieve_extensions = +enotify +subaddress +vacation } protocols = " imap lmtp sieve" rejection_reason = Your message to <%t> was rejected: %r rejection_subject = Mail delivery failed: returning message to sender service auth { unix_listener auth-userdb { group = vmail mode = 0660 } } service imap { executable = imap postlogin } service postlogin { executable = script-login rawlog user = vmail } ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem userdb { args = uid=121 gid=123 driver = passwd } userdb { args = uid=121 gid=123 allow_all_users=yes home=/home/vmail/%n driver = static } protocol lda { info_log_path = /var/log/dovecot/lda-info.log log_path = /var/log/dovecot/lda.log mail_plugins = sieve } -- Mikko
On Thu, 2011-06-30 at 00:31 +0300, Mikko Lehto wrote:> I am about to run a setup where users are virtual and their mail is owned by > vmail user. I bumped into minor client issue and needed to enable rawlogging > according to http://wiki2.dovecot.org/Debugging/Rawlog > > This is what was printed to log at first try: > Jun 29 21:46:25 (null)Fatal: This process must not be run as root > > I changed service postlogin to contain "user = vmail" and above > error disapperead. I also tried "user = dovecot" which seem to work > as well. > > Is vmail or dovecot user more appropriate for raw logging?rawlog looks for ~/dovecot.rawlog/ directory and tries to write there. It doesn't really matter what the user is as long as it can write there. I find it a bit weird if "dovecot" user managed to write there.. You could also have given -d parameter to script-login and it would have figured out the user automatically.> Also, maybe the (null)Fatal -message could be improved(?).Yes, fixed: http://hg.dovecot.org/dovecot-2.0/rev/ed0688858e59