Postfix/Dovecot не используют pam_mkhomedir

Postfix/Dovecot не используют pam_mkhomedir

У меня есть пользователи во внешней базе данных. Пока что - ssh, postfix, dovecot и некоторые другие - используют записи без проблем.
У меня естьMaildirsвнутри/home/[пользователь]и если homedir существует - все ок - отправка, получение.
Если homedir не существуетПостфикс/Голубятнявыводит ошибку, ssh - после входа в систему создается совершенно новый домашний каталог - он используетpam_mkhomedir.soзапись в /etc/pam.d/[в нескольких файлах].

Постфикс/Голубятня- успешно использоватьпам.дс базой данных, но игнорирует записи сpam_mkhomedir- Я прочитал много подсказок, в каком файле и на какой позиции его разместить.
Может быть, дело в названии файла /etc/pam.d/[file] ??

решение1

Postfix не отвечает за создание домашних каталогов. Postfix предполагает, что домашние каталоги уже существуют при использовании встроенного localагента доставки.

Если вместо этого вы используете Dovecot в качестве LDA, то Dovecot также полагается на тот факт, что домашний каталог существует.

С помощью виртуальных пользователей вы можете задать переменную lda_mailbox_autocreate = yes, чтобы Dovecot автоматически создавал необходимые каталоги.


И поскольку Dovecot (и Postfix) не «логинят» пользователя для доставки почты, то pam_mkhomedirникогда не срабатывает. В этом случае PAM используется только для аутентификации.

решение2

Просто для пользы других, кто наткнется на это, гугля проблему Dovecot, как я только что: Dovecot можно заставить работать, pam_mkhomedirесли настроить его таким образом. Документация находится наhttp://wiki2.dovecot.org/PasswordDatabase/PAM#PAM_sessions

В типичной системе Debian/Ubuntu это можно поместить в /etc/pam.d/dovecot:

#%PAM-1.0

@include common-auth
@include common-account
@include common-session

( mkhomedirМодуль вызывается внутри common-session)

А затем отредактируйте /etc/dovecot/conf.d/auth-system.conf.extраздел следующим образом:

passdb {
  driver = pam
  # [session=yes] ...
  #args = dovecot
}

чтобы они argsсказали:

  args = session=yes dovecot

Связанный контент