Назад | Перейти на главную страницу

Postgres / PAM / SSSD «Ошибка аутентификации», за которой следует «соединение разрешено».

Раньше я использовал аутентификацию LDAP с postgres, но теперь в результате улучшений безопасности все машины присоединены к домену через SSSD, и это прекрасная возможность получить еще один пароль из файла конфигурации.

Изначально конфиг был:

host    all             @ldap_users     1.2.3.0/24            ldap ...

и я просто заменил его на:

host    all             @ldap_users     1.2.3.0/24            pam

что приводит к продолжительной успешной аутентификации для пользователей AD.

Однако сразу после подключения регистрируется следующее:

2019-10-29 17:19:44.141 PDT [28323] FATAL:  PAM authentication failed for user "foo.mcbarson"
2019-10-29 17:19:44.141 PDT [28323] DETAIL:  Connection matched pg_hba.conf line 10: "host    all             @ldap_users     1.2.3.0/24            pam"

и после завершения аутентификации:

2019-10-29 17:19:52.233 PDT [28327] LOG:  connection authorized: user=foo.mcbarson database=eos SSL enabled (protocol=TLSv1.2, cipher=ECDHE-RSA-AES256-GCM-SHA384, compression=off)

Что является причиной сбоя этой ошибочной аутентификации? Если бы мне пришлось угадывать, я бы предположил, что он пытается проверить имя пользователя?

Для справки:

pam.d / postgresql

auth        include     password-auth
account     include     password-auth

pam.d / password-auth [только записи sss]

auth        sufficient    pam_sss.so forward_pass
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
password    sufficient    pam_sss.so use_authtok
session     optional      pam_sss.so

Может быть, при поиске учетной записи происходит что-то другое, кроме success или user_unknown? Где мне это проверить?