Dovecot at corwyn.net
2009-Feb-10 01:44 UTC
[Dovecot] Imap unlink "failed, is a directory".
Dovecot 1.1.8-0_85.el5 I'm seeing this set of messages repeat every 15 min. My best guess is the user tried to delete an imap folder and is failing? Feb 9 20:05:58 mailserver dovecot: imap-login: Login: user=<user at example.com>, method=PLAIN, rip=10.0.0.1, lip=192.168.250.80, TLS Feb 9 20:05:58 mailserver dovecot: IMAP(user at example.com): unlink(/var/spool/mail/example.com/user/Maildir/cur/cur:2,ST) failed: Is a directory Feb 9 20:05:58 mailserver dovecot: IMAP(user at example.com): unlink(/var/spool/mail/example.com/user/Maildir/cur/new:2,ST) failed: Is a directory Feb 9 20:05:58 mailserver dovecot: IMAP(user at example.com): Disconnected: Logged out bytes=66/623 From here: http://wiki.dovecot.org/VirtualUsers#homedirs I suspect it's a problem with access to the home directory. The users have a home directory: /var/spool/mail/domain/user (or at least that's where Maildir ends up). vuser has 700 access to that entire structure (everything under var/spool/mail/). Users log in with mysql accounts. /etc/passwd: ... dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin vacation:x:65501:65501::/var/spool/vacation:/sbin/nologin vuser:x:1015:105:,,,:/home/vuser:/bin/false ... dovecot-sql.conf driver = mysql connect = host=localhost dbname=postfix user=postfix password=xxxxxxx default_pass_scheme = MD5-CRYPT password_query = SELECT username, domain, password FROM mailbox WHERE username = '%u' AND domain = '%d' AND active = '1' user_query = SELECT 1015 as uid, 105 as gid, '/var/spool/mail/%d/%n' as home, 'maildir:/var/spool/mail/%d/%n/Maildir' as mail, concat('*:storage=', quota, 'B') as quota_rule FROM mailbox WHERE username = '%u' AND domain = '%d' and active = '1' dovecot -n # 1.1.8: /etc/dovecot.conf # OS: Linux 2.6.18-92.el5 i686 Red Hat Enterprise Linux Server release 5.2 (Tikanga) ext3 ssl_cert_file: /etc/httpd/certs/example_invtitle_com.crt ssl_key_file: /etc/httpd/certs/example.com.key.no.password login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login mail_uid: 1015 mail_gid: 105 mail_location: maildir:/var/spool/mail/%d/%n/Maildir mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(pop3): /usr/lib/dovecot/pop3 imap_client_workarounds(default): delay-newmail outlook-idle imap_client_workarounds(imap): delay-newmail outlook-idle imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login passdb: driver: sql args: /etc/dovecot-sql.conf userdb: driver: passwd userdb: driver: sql args: /etc/dovecot-sql.conf userdb: driver: static socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vuser group: vuser plugin: quota: maildir quota_rule: *:storage=102400000 quota_rule2: Trash:storage=100M Rick Steeves http://www.sinister.net "The journey is the destination"
On Feb 9, 2009, at 8:44 PM, dovecot at corwyn.net wrote:> I'm seeing this set of messages repeat every 15 min. My best guess > is the user tried to delete an imap folder and is failing? > > Feb 9 20:05:58 mailserver dovecot: imap-login: Login: user=<user at example.com > >, method=PLAIN, rip=10.0.0.1, lip=192.168.250.80, TLS > Feb 9 20:05:58 mailserver dovecot: IMAP(user at example.com): unlink(/ > var/spool/mail/example.com/user/Maildir/cur/cur:2,ST) failed: Is a > directory > Feb 9 20:05:58 mailserver dovecot: IMAP(user at example.com): unlink(/ > var/spool/mail/example.com/user/Maildir/cur/new:2,ST) failed: Is a > directoryThis means that "new" and "cur" directories were created to either Maildir/cur/ or Maildir/new/ and since there should be only messages Dovecot tried to handle them as files/messages. Dovecot didn't create those directories. You probably misconfigured some other program at some point which created those (or you did it manually). So the solution is to just rmdir those directories away. They just shouldn't be there. If they come back, try to figure out what creates them.