I'm trying to setup a system with ldap+postfix+dovecot. Everyone who
gets an email is stored in LDAP, some of these users also have a local
unix account, regardless I want all users to be dealt with as virtual
users.
All the mail is stored by postfix in /var/spool/mail in Maildir format
with permissions 600 vmail:vmail. Everything works fine when dovecot
tries to read the mail of a completely virtual user, the problem is when
dovecot tries to read mail for a user who has an account on the machine,
dovecot finds the user's local account, then it tries to read the mail
as that user. Even if first_valid_{u,g}id is low enough to allow login
the user still doesn't have sufficient permissions to read the mail.
I can't figure out why this is happening and was hoping someone could
help me out.
thanks,
Aaron
/etc/dovecot-ldap.conf:
hosts = server.example.com
base = dc=example,dc=com
dn = cn=Directory Manager
dnpass = password
uris = ldap://127.0.0.1
user_attrs = mail
user_filter = uid=%u
user_global_uid = 5001
user_global_gid = 5001
pass_filter = uid=%u
/etc/dovecot.conf:
mail_location = maildir:/var/spool/mail/%u/
protocols = imap pop3
mail_log_prefix = "%Us(%u):%i:%h "
first_valid_uid = 5001
first_valid_gid = 5001
protocol imap {
}
protocol pop3 {
}
protocol lda {
postmaster_address = postmaster at example.com
}
auth_verbose = yes
auth_debug = yes
auth default {
mechanisms = plain
passdb pam {
}
userdb passwd {
}
userdb ldap {
args = /etc/dovecot-ldap.conf
}
passdb ldap {
args = /etc/dovecot-ldap.conf
}
user = root
}
dict {
}
plugin {
}
Marshal Newrock
2007-Feb-20 19:13 UTC
[Dovecot] Reading mail for Virtual and Real LDAP Users
On Tue, 20 Feb 2007 11:39:39 -0700 Aaron Luchko <aaron.luchko at oxn.ca> wrote:> I'm trying to setup a system with ldap+postfix+dovecot. Everyone who > gets an email is stored in LDAP, some of these users also have a local > unix account, regardless I want all users to be dealt with as virtual > users. > > All the mail is stored by postfix in /var/spool/mail in Maildir format > with permissions 600 vmail:vmail. Everything works fine when dovecot > tries to read the mail of a completely virtual user, the problem is > when dovecot tries to read mail for a user who has an account on the > machine, dovecot finds the user's local account, then it tries to > read the mail as that user. Even if first_valid_{u,g}id is low enough > to allow login the user still doesn't have sufficient permissions to > read the mail.[snip]> auth default { > mechanisms = plain > passdb pam { > } > userdb passwd { > } > userdb ldap { > args = /etc/dovecot-ldap.conf > } > passdb ldap { > args = /etc/dovecot-ldap.conf > } > user = root > }Comment out "passdb pam" and "userdb passwd". These are telling dovecot to look for real system users. -- Marshal Newrock, Ideal Solution LLC http://www.idealso.com