>[оверквотинг удален]
>>Судя по сырцам authpam.c maildir нигде не выставляется.
>>Думается, надо скорректировать настройку системы, чтобы она для пользователя выдавала правильный homedir
>>- не на ровном же месте оно формирует "/home/PROC/gal".
>
>Да вот в том то и дело что непонятно когда и откуда
>он это значение берет. И еще больше непонятно зачем он обращается
>в директорию homedir. Я тоже в сырцах не могу найти. Не
>то что бы где он пытается записать что то в маилдир.
>А вообще не могу найти, где он оббращается к директории homedir.
>Потому что авторизация через PAM задумана для системных пользователей.
Соответственно, работает следующим образом:
1. Берем логин пароль, авторизуем через PAM
2. Ищем хомяк пользователя (homedir), через NSS
3. Берем найденный homedir добавляем к нему MAILDIRPATH=Maildir из конфига imapd/pop3d
4. выдаем пользователю его почту.
авторизация через LDAP/SQL задумана для _несистемных_ пользователей, соответственно
1. Авторизуем, запрашивая данные пользователя из хранилища, по логину,
1.1 проверяем пароль, с использованием различных обработок - потому что данных тупо больше - например доступен пароль пользвователя (из хранилища) в чистом виде
2. homedir берется из LDAP_HOMEDIR/MYSQL_HOME_FIELD атрибутов
3. Внимание фокус - позволяем переопределять maildir - поскольку надо большей гибкости - видимо не особо нужной в случае системных пользователей.
4. выдаем пользователю его почту.
В случае системных аккаунтов почта хранится в:
~user/Maildir , где ~user может быть равно /home/user /home/u/user и т д
В случае виртуальных аккаунтов почта хранится в:
MYSQL_HOME_FIELD + MYSQL_MAILDIR_FIELD
кусок конфига:
MYSQL_HOME_FIELD '/var/spool/postfix/virtual'
MYSQL_MAILDIR_FIELD maildir
и почта хранится в /var/spool/postfix/virtual/domain.tld/user@domain.tld
поскольку в БД значение поля == domain.tld/user@domain.tld (ну это настраиваемо в postfixadmin)
---
Или, если читать пример конфига лдапа
# If homeDirectory is not an absolute path, define the root of the
# relative paths in LDAP_MAILROOT
# LDAP_MAILROOT /var/mail
LDAP_HOMEDIR homeDirectory
# The MAILDIR attribute is OPTIONAL, and specifies the location of the
# mail directory. If not specified, ./Maildir will be used
LDAP_MAILDIR mailbox
почта пользователя будет храниться в
LDAP_MAILROOT + LDAP_HOMEDIR + LDAP_MAILDIR