Привет. Столкнулся с проблемой, а языковой барьер мешает корректно задать
вопрос в dovecot mailing list.

Стоит почтовый сервер.

# uname -a
Linux deb7s0 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux

Изначально dovecot настроен TLS + plain login через LDAP

passdb {
   driver = ldap
}
userdb {
   driver = static
   args = uid=vmail gid=vmail home=/var/vmail/%d/%Ln allow_all_users=yes
}

Все работает как надо, папка пользователя создается
/var/vmail/domain.name.local/user1

Добавил авторизацию Kerberos, авторизация проходит успешно, но папка
пользователя создается /var/vmail/user1
В логах явно видно ошибку:

Debug: auth client connected (pid=4198)
Debug: ldap(user1,ip,<tStnqj78mQCsETVX>): bind search:
base=DC=domain,DC=name,DC=local
filter=(&(objectClass=person)(sAMAccountName=user1)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Debug: auth(user1,ip,<tStnqj78mQCsETVX>): username changed user1 ->
us...@domain.name.local
Debug: ldap(us...@domain.name.local,ip,<tStnqj78mQCsETVX>): result:
userPrincipalName=us...@domain.name.local
Debug: client out: OK#0111#011user=us...@domain.name.local
Debug: master in:
REQUEST#0113788505089#0114198#0111#01126f21034856c4a995f36c38acc6e0567
Debug: master out: USER#0113788505089#011us...@domain.name.local
#011uid=5000#011gid=5000#011home=/var/vmail/domain.name.local/user1

Debug: auth client connected (pid=4378)
Debug: gssapi(?,ip,<4sqZ5D78tQCsETVX>): Using all keytab entries
Debug: gssapi(us...@domain.name.local,ip,<4sqZ5D78tQCsETVX>): security
context state completed.
Debug: gssapi(us...@domain.name.local,ip,<4sqZ5D78tQCsETVX>): Negotiated
security layer
Debug: client out: OK#0111#011user=user1
Debug: master in:
REQUEST#0112865889281#0114378#0111#01148e1177f98cf140bf698a446eb74ecff
Debug: master out:
USER#0112865889281#011user1#011uid=5000#011gid=5000#011home=/var/vmail//user1

Как видно LDAP меняет имя пользователя и потом получает из него имя домена,
как такое сделать у GSSAPI?
Возможно это несовсем правильное решение и я готов поменять настройки, но
нужно сохранить структуру каталога (/var/vmail/domain_name/user_name), т.к.
в дальнейшем почтовый сервер будет обслуживать несколько доменных имен.

Ответить