У нас есть настройка opnldap на нашем сервере ubuntu, и мы получаем это сообщение для пользователя:
auth: pam_unix(dovecot:account): account has expired (account expired)
Sep 3 19:05:03 auth: pam_unix(dovecot:auth): authentication failure; logname= uid=0 euid=0 tty=dovecot ruser=XXXX rhost=::1 user=XXXX
Я успешно изменил пароль с помощью ldappasswd, но ошибка не исчезла. Проведя небольшое исследование, выяснилось, что shadowLastChange не обновляется.
Как мы можем это решить?
/usr/share/slapd/slapd.conf
access to attrs=userPassword,shadowLastChange
by dn="@ADMIN@" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
# The admin dn has full write access, everyone else
# can read everything.
access to *
by dn="@ADMIN@" write
by * read
ОК - похоже, это проблема PAM.
Если я отредактирую /etc/nsswitch.conf на:
shadow: compat
Я не получаю сообщения о том, что срок действия учетной записи истек.
Если я изменю его на:
shadow: files ldap
Я делаю. Но в любом случае я все равно получаю ошибку голубятни.
Никогда раньше не отвечал на свой вопрос, но я хотел поделиться, если кто-то еще когда-нибудь столкнется с этим. Это было связано с тем, что saslauthd не установлен, не настроен и не запущен. Как только я это сделал, ошибка исчезла.