У меня есть пользователи во внешней базе данных. Пока - ssh, postfix, dovecot и некоторые другие - без проблем используют записи.
у меня есть Maildirs внутри / home / [пользователь] а если хомедир существует - все ок - отправка, получение.
Если хомедир не существует Постфикс / Dovecot выводит ошибку, ssh - после входа в систему создается новый домашний адрес - он использует pam_mkhomedir.so запись в /etc/pam.d/[в нескольких файлах].
Постфикс / Dovecot - успешно использовать pam.d с бэкэндом базы данных, но игнорирует записи с пам_мхомедир - Я прочитал много подсказок, в какой файл и на какую позицию его поместить.
Может дело в названии файла /etc/pam.d/[file] ??
Просто для блага других, кто наткнется на это, погуглите проблему 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
(The mkhomedir
модуль вызывается внутри common-session
)
А затем отредактируйте /etc/dovecot/conf.d/auth-system.conf.ext
в разделе говорят:
passdb {
driver = pam
# [session=yes] ...
#args = dovecot
}
иметь те args
сказать:
args = session=yes dovecot
Postfix не несет ответственности за создание домашних каталогов. Postfix предполагает, что домашние каталоги уже существуют при использовании встроенного local
Агент доставки.
Если вместо этого вы используете Dovecot в качестве LDA, Dovecot также полагается на тот факт, что домашний каталог существует.
С виртуальными пользователями вы можете установить переменную lda_mailbox_autocreate = yes
так что Dovecot автоматически создает необходимые каталоги.
И поскольку Dovecot (и Postfix) не выполняет «авторизацию» пользователя для доставки почты, pam_mkhomedir
никогда не срабатывает. В этом случае PAM используется только для аутентификации.