[Dovecot] utime : operation not permitted
With the upgrade to 1.0.1, I am seeing some errors/warnings
dovecot: IMAP(jhorner@arinbe.com): utime(/home/arinbe/Maildir/.info/tmp) failed: Operation not permitted: 1 Time(s) dovecot: IMAP(jhorner@arinbe.com): utime(/home/arinbe/Maildir/.resumes.vabch/tmp) failed: Operation not permitted: 1 Time(s)
Different directories on different days. Different users on different days. Always /tmp directory. Always a /tmp of a shared namespace.
The /tmp directory in question is mode 770, with group users, just like the rest of the /arinbe/Maildir hierarchy.
As far as I can tell it doesn't affect anything on the client side.
dovecot -n
ssl_cert_file: /etc/ssl/arinbe/arinbe-godaddy.crt ssl_key_file: /etc/ssl/arinbe/arinbe.key ssl_cipher_list: ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:+EXP:@STRENGTH login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login login_greeting: I am the IMAP Whisperer and I am ready. mail_location: maildir:%h/Maildir umask: 7 mail_plugins: acl imap_client_workarounds: delay-newmail outlook-idle namespace: type: public separator: . prefix: COMPANY. location: maildir:/home/arinbe/Maildir:CONTROL=%h/shared-settings/company/control:INDEX=%h/shared-settings/company/index namespace: type: public separator: . prefix: ROOTMAIL. location: maildir:/home/rootmail/Maildir:CONTROL=%h/shared-settings/rootmail/control:INDEX=%h/shared-settings/rootmail/index namespace: type: private separator: . prefix: INBOX. inbox: yes auth default: mechanisms: plain login default_realm: arinbe.com user: nobody passdb: driver: ldap args: /etc/dovecot/dovecot-ldap-arinbe.conf passdb: driver: ldap args: /etc/dovecot/dovecot-ldap-domains.conf userdb: driver: prefetch userdb: driver: ldap args: /etc/dovecot/dovecot-ldap-arinbe.conf userdb: driver: ldap args: /etc/dovecot/dovecot-ldap-domains.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 438 user: postfix group: postfix master: path: /usr/local/var/run/dovecot/auth-master mode: 432 user: nobody group: mail plugin: acl: vfile:/etc/dovecot/dovecot-acls
On Tue, 2007-07-03 at 12:24 -0400, Jim Horner wrote:
With the upgrade to 1.0.1, I am seeing some errors/warnings
dovecot: IMAP(jhorner@arinbe.com): utime(/home/arinbe/Maildir/.info/tmp) failed: Operation not permitted: 1 Time(s) dovecot: IMAP(jhorner@arinbe.com): utime(/home/arinbe/Maildir/.resumes.vabch/tmp) failed: Operation not permitted: 1 Time(s)
Are you using SELinux or similar? utime() shouldn't be failing normally.
As far as I can tell it doesn't affect anything on the client side.
It doesn't. It's just used to keep track of when to clean up old files from tmp/.
On Tuesday 03 July 2007 13:06:44 you wrote:
On Tue, 2007-07-03 at 12:24 -0400, Jim Horner wrote:
With the upgrade to 1.0.1, I am seeing some errors/warnings
dovecot: IMAP(jhorner@arinbe.com): utime(/home/arinbe/Maildir/.resumes.vabch/tmp) failed: Operation not permitted: 1 Time(s)
Are you using SELinux or similar? utime() shouldn't be failing normally.
Yeah I'm having deja vu. I thought I read in the lists you stating utime shouldn't fail. I couldn't/can't find that post. Regardless, I'm not using SELinux, not running any script or cron job running against these directories and just using plain ole ext3. I've been running this setup, Postfix->Deliver and Dovecot for many many moons now. It wasn't until this last upgrade from 1.0.0 -> 1.0.1 did I start seeing any errors/warning and this error/warning is so arbitrary. The only thing consistent is /tmp and the COMPANY namespace.
Can I try deleting indexes or something? Just throwing stuff out there. If utime() doesn't fail normally, what abnormality causes it to fail?
Jim
On Tue, 2007-07-03 at 13:28 -0400, Jim Horner wrote:
Can I try deleting indexes or something? Just throwing stuff out there. If utime() doesn't fail normally, what abnormality causes it to fail?
Permission problems I suppose.. You could try this yourself too:
touch -a -d '10 hours ago' tmp
After this open the mailbox. You'll probably see the error.
Have you mounted the filesystem with noatime? This utime() should be done only with noatime mounts.
On Tue, 2007-07-03 at 20:36 +0300, Timo Sirainen wrote:
On Tue, 2007-07-03 at 13:28 -0400, Jim Horner wrote:
Can I try deleting indexes or something? Just throwing stuff out there. If utime() doesn't fail normally, what abnormality causes it to fail?
Permission problems I suppose..
Oh, probably this:
"The times argument is not a null pointer and the calling process' effective user ID has write access to the file but does not match the owner of the file and the calling process does not have the appropriate privileges."
This should fix it: http://hg.dovecot.org/dovecot-1.0/rev/8f7e3311006f
This should fix it: http://hg.dovecot.org/dovecot-1.0/rev/8f7e3311006f
before I try that I found
Jul 1 22:13:48 giganta dovecot: IMAP(hzzzzz@arinbe.com): utime(/home/rootmail/Maildir/tmp) failed: Operation not permitted
hzzzzz does not have permission via dovecot-acl to see this directory (only me and rootmail (which is a 'real-fake' user))... so my question is, why was this operation tried in the first place?
On Tue, 2007-07-03 at 14:37 -0400, Jim Horner wrote:
This should fix it: http://hg.dovecot.org/dovecot-1.0/rev/8f7e3311006f
before I try that I found
Jul 1 22:13:48 giganta dovecot: IMAP(hzzzzz@arinbe.com): utime(/home/rootmail/Maildir/tmp) failed: Operation not permitted
hzzzzz does not have permission via dovecot-acl to see this directory (only me and rootmail (which is a 'real-fake' user))... so my question is, why was this operation tried in the first place?
You configured such namespace, and Dovecot always verifies that namespace's INBOX exists and cleans up the tmp/ while at it. v1.1 won't anymore do this unless namespace has inbox=yes (and there can be only one such namespace).
On Tuesday 03 July 2007 14:56:24 you wrote:
On Tue, 2007-07-03 at 14:37 -0400, Jim Horner wrote:
This should fix it: http://hg.dovecot.org/dovecot-1.0/rev/8f7e3311006f
before I try that I found
Jul 1 22:13:48 giganta dovecot: IMAP(hzzzzz@arinbe.com): utime(/home/rootmail/Maildir/tmp) failed: Operation not permitted
hzzzzz does not have permission via dovecot-acl to see this directory (only me and rootmail (which is a 'real-fake' user))... so my question is, why was this operation tried in the first place?
You configured such namespace, and Dovecot always verifies that namespace's INBOX exists and cleans up the tmp/ while at it. v1.1 won't anymore do this unless namespace has inbox=yes (and there can be only one such namespace).
Thanks. I know namespaces have been bothersome or at least that is what I think I hear when I read your emails in the list. I've been trying to keep up with all the changes.
I've applied the patch. I will report back. It happens pretty infrequently... so it could be a while.
Thanks,
Jim
On Tuesday 03 July 2007 18:47:41 Jim Horner wrote:
This should fix it: http://hg.dovecot.org/dovecot-1.0/rev/8f7e3311006f
before I try that I found
Jul 1 22:13:48 giganta dovecot: IMAP(hzzzzz@arinbe.com): utime(/home/rootmail/Maildir/tmp) failed: Operation not permitted
I've applied the patch. I will report back. It happens pretty infrequently... so it could be a while.
I haven't seen any utime errors in 3 days. Thanks.
Permission problems I suppose.. You could try this yourself too:
yeah, permissions was the first thing I checked.
drwxrwx--- 2 arinbe users 4096 2006-10-28 18:03 cur -rwxr-xr-x 1 arinbe users 96 2007-06-28 22:43 dovecot-acl -rw-r----- 1 arinbe users 0 2006-10-28 16:42 dovecot-shared -rw-r----- 1 arinbe users 547 2006-10-28 16:42 dovecot-uidlist drwxrwx--- 2 arinbe users 4096 2006-10-28 16:42 Maildir -rw-r----- 1 arinbe users 0 2006-10-28 16:42 maildirfolder drwxrwx--- 2 arinbe users 4096 2006-10-28 16:42 new drwxrwx--- 2 arinbe users 4096 2006-10-28 16:42 tmp
I guess that 'Maildir" and 'maildirfolder' are leftover from Courier... probably should clean those out.
After this open the mailbox. You'll probably see the error.
Have you mounted the filesystem with noatime? This utime() should be done only with noatime mounts.
/dev/sda9 /home ext3 defaults 0 2
and unless I'm reading 'man mount' incorrectly:
defaults Use default options: rw, suid, dev, exec, auto, nouser, and async.
I think this is a stock install. I usually don't muck around in fstab.
touch -a -d '10 hours ago' tmp
I tried that on this directory which happened earlier today Jul 3 12:14:24 giganta dovecot: IMAP(jhorner@arinbe.com): utime(/home/arinbe/Maildir/.contracts/tmp) failed: Operation not permitted
and nothing appeared in the mail.err log... it is so arbitrary... or I'm too stupid to see the connection.
Thanks,
Jim
participants (2)
-
Jim Horner
-
Timo Sirainen