dovecot auth error: Illegal seek

panetta panetta at mat.unical.it
Tue Apr 3 12:53:29 EEST 2018


Thanks Aki for the answer.

I did some tests and found a solution. I write down my experience It 
could be useful to someone.

First I putted  "passwd-file" passdb (only)  before "pam" passdb, as Aki 
suggested,
but "illegal seek error" persisted.

Then I putted both "passwd-file" passdb and "static" userdb before "pam" 
passdb and "passwd" userdb (used for local user),
but that generated a strange behavior because "static" driver overrides 
info also for local user.

Finally I putted both "passwd-file" passdb and "passwd-file" userdb 
before "pam" and "passwd"
and that works without errors.

My working dovecot config:

host-prompt# dovecot -n
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-5-686-pae i686 Debian 7.11
auth_mechanisms = plain login
auth_username_format = %Ln
listen = *
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_greeting = Server ready.
mail_full_filesystem_access = yes
mail_location = mbox:~/:INBOX=/var/mail/%u:INDEX=/var/index/%u
mail_privileged_group = mail
passdb {
   args = scheme=MD5-CRYPT username_format=%n /etc/dovecot/users
   driver = passwd-file
}
passdb {
   driver = pam
}
protocols = " imap"
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   user = root
}
service imap-login {
   inet_listener imap {
     port = 0
   }
}
ssl_cert = </etc/ssl/certs/chained-cert-9599-ml.mat.unical.it.pem
ssl_key = </etc/ssl/private/csrkey-ml.mat.unical.it.pem
userdb {
   args = username_format=%n /etc/dovecot/users
   default_fields = mail=maildir:/var/vmail/%d/%n/Maildir/
   driver = passwd-file
   override_fields = uid=vmail gid=vmail home=/var/vmail/%d/%n
}
userdb {
   driver = passwd
}
verbose_proctitle = yes


host-prompt# cat /etc/dovecot/users
claudio.panetta:{MD5-CRYPT}$1$abcdefghijklmnopqrst:5000:5000::/var/vmail::
ciccio.pasticcio:{MD5-CRYPT}$1$abcdefghijklmnopqrst:5000:5000::/var/vmail::

At first I preferred (making a mistake) static driver versus passwd-file
to avoid writing uid,gid,home for each user, but in the end, with 
passwd-file and
override_fields i got the desired scenario.

Regards,
Claudio


Il 30/03/18 14:27, Aki Tuomi ha scritto:
>> On 30 March 2018 at 15:11 panetta <panetta at mat.unical.it> wrote:
>>
>>
>> Hi,
>>
>> I recently configured dovecot to manage auth
>> for both local and virtual user.
>> When i login as a virtual user (claudio.panetta) I get the following
>> message:
>>
>> dovecot: auth: Error:
>> passwd(claudio.panetta,160.97.62.1,<WLjlnZ9oRACgYT4B>): getpwnam()
>> failed: Illegal seek
>>
>> but login is ok and sending/receiving email is ok,
>> how can, if possible, I suppress this error message?
>>
>> In the following my dovecot config:
>>
>> host-prompt# dovecot -n
>> # 2.1.7: /etc/dovecot/dovecot.conf
>> # OS: Linux 3.2.0-5-686-pae i686 Debian 7.11
>> auth_mechanisms = plain login
>> auth_username_format = %Ln
>> listen = *
>> log_timestamp = "%Y-%m-%d %H:%M:%S "
>> login_greeting = Server ready.
>> mail_full_filesystem_access = yes
>> mail_location = mbox:~/:INBOX=/var/mail/%u:INDEX=/var/index/%u
>> mail_privileged_group = mail
>> passdb {
>>     driver = pam
>> }
>> passdb {
>>     args = scheme=MD5-CRYPT username_format=%n /etc/dovecot/users
>>     driver = passwd-file
>> }
>> protocols = " imap"
>> service auth {
>>     unix_listener /var/spool/postfix/private/auth {
>>       group = postfix
>>       mode = 0660
>>       user = postfix
>>     }
>>     user = root
>> }
>> service imap-login {
>>     inet_listener imap {
>>       port = 0
>>     }
>> }
>> ssl_cert = </etc/ssl/certs/chained-cert-9599-ml.mat.unical.it.pem
>> ssl_key = </etc/ssl/private/csrkey-ml.mat.unical.it.pem
>> userdb {
>>     driver = passwd
>> }
>> userdb {
>>     args = username_format=%n /etc/dovecot/users uid=vmail gid=vmail
>> home=/var/vmail/%d/%n mail=maildir:/var/vmail/%d/%n/Maildir
>>     driver = static
>> }
>> verbose_proctitle = yes
>>
>> host-prompt# cat /etc/dovecot/users
>> claudio.panetta:{MD5-CRYPT}$1$abcdefghijklmnopqrst
>> ciccio.pasticcio:{MD5-CRYPT}$1$abcdefghijklmnopqrst
>>
>> Regards,
>> Claudio
>>
>>
> Hi! Put the file based passdb before the pam one. Also not sure what you are trying to do with the static userdb. It looks like you wanted to use passwd-file?
>
> Aki

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20180403/aafd743c/attachment.html>


More information about the dovecot mailing list