Раньше я использовал аутентификацию 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
? Где мне это проверить?