[Dovecot] Create userdir on dovecot login --- solved

Andreas Cieslak andreas at kado-web.de
Tue Sep 27 17:32:20 EEST 2011


Sorted out the problem, which was already solved in an older forum post of
dovecot.
In the file
/usr/local/etc/dovecot/conf.d/auth-system.conf.ext
I set
Passdb {
Driver = pam
args = session=yes dovecot
}
Unfortunately this didn’t work because when I log in with a user xy, the
user dovecot became the owner of the userdir.
When I modified the file /usr/local/etc/dovecot/conf.d/auth-system.conf.ext
like this:
Passdb {
Driver = pam
# args = session=yes dovecot
}
And gave anyone (for testing) the permission to write to home. That worked!
At least put the ldap-users in a group and gave that group writing
permissions to home. Finished!

-----Ursprüngliche Nachricht-----
Von: dovecot-bounces at dovecot.org [mailto:dovecot-bounces at dovecot.org] Im
Auftrag von Andreas Cieslak
Gesendet: Donnerstag, 22. September 2011 15:41
An: dovecot at dovecot.org
Betreff: [Dovecot] Create userdir on dovecot login

Hi List,

I am trying to set up automated userdir-creation on login via squirrelmail
or email-client with a dovecot backend.

The users are first imported on an openldap directory on the same server as
the dovecot runs on.

Authentication on the dovecot mail system via pam_ldap works properly.

Tried already to integrate some advices from the dovecot wiki like

Passdb {

Driver = pam

args = session=yes dovecot

}

But the homedir creation works only when the user logs onto the machine.

When I try to log in via Squirrel on the dovecot no homedir is created and
there is following message in the logs:

auth: Error: pam(cieslak,193.175.157.121): pam_open_session() failed:
Permission denied

I think its something about the user rights, but dont really know where to
search for the needle

Here is the config of my environment

root at server:/home# dovecot -n

# 2.0.13: /usr/local/etc/dovecot/dovecot.conf

# OS: Linux 2.6.32-5-686 i686 Debian 6.0.2 

auth_debug = yes

auth_mechanisms = login plain

auth_verbose = yes

first_valid_uid = 1000

hostname = server

info_log_path = /var/log/dovecot-info

last_valid_uid = 10000

listen = *

log_path = /var/log/dovecot

mail_access_groups = mail

mail_debug = yes

mail_full_filesystem_access = yes

mail_location = maildir:~/Maildir

mbox_write_locks = fcntl

passdb {

  args = session=yes dovecot

  driver = pam

}

postmaster_address = mailaddress

service auth-worker {

  group = shadow

  user = $default_internal_user

}

service auth {

  user = $default_internal_user

}

service imap-login {

  inet_listener imap {

    port = 143

  }

  inet_listener imaps {

    port = 993

    ssl = yes

  }

  process_min_avail = 0

  service_count = 0

  vsz_limit = 256 M

}

service lmtp {

  unix_listener lmtp {

    mode = 0666

  }

}

service pop3-login {

  inet_listener pop3s {

    port = 995

    ssl = yes

  }

}

ssl_ca = </usr/local/etc/dovecot/ca

ssl_cert = </usr/local/etc/dovecot/crt

ssl_key = </usr/local/etc/dovecot/key

userdb {

  driver = passwd

}

protocol pop3 {

  pop3_uidl_format = %08Xu%08Xv

}

dovecot --version

2.0.13

The configuration of the pam module /etc/pam.d/dovecot looks like

@include common-auth

@include common-account

@include common-session

The common session has the line

session required        pam_mkhomedir.so skel=/etc/skel umask=0077

 

I would appreciate any hints.

Andreas

 




More information about the dovecot mailing list