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.