Часто встречающиеся проблемы и пути их устранения#
Проблема:
Пользователь не может успешно подключиться к хосту с использованием учетной записи kmadmin_pg при локальном подключении, даже если вводится правильный пароль. Возникает ошибка:
$ su - kmadmin_pg
Пароль:
Срок действия учетной записи истек; обратитесь к системному администратору
su: Сбой при проверке подлинности
При просмотре параметров пароля пользователя kmadmin_pg видно, что пароль имеет ограничения срока действия, что в итоге может приводить к блокировке пользователя:
$ sudo chage -l kmadmin_pg
Last password change : Aug 01, 2023
Password expires : Sep 10, 2023
Password inactive : Dec 09, 2023
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 40
Number of days of warning before password expires : 7
Решение:
После установки снимите ограничения срока действия пароля для созданного пользователя, выполнив команду:
$ sudo chage -E -1 -I -1 -M -1 -m -1 -W -1 kmadmin_pg
$ sudo chage -l kmadmin_pg
Last password change : Nov 09, 2023
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : -1
Maximum number of days between password change : -1
Number of days of warning before password expires : -1
Проблема:
Во время системного обслуживания кластера Pangolin и выполнения административных задач, связанных с хранилищем паролей, возникают следующие ошибки в журнале postgresql:
Ключевой момент данного сценария заключается в том, что параметр password_encryption был установлен в значение md5, а не scram-sha-256. Во время системных работ конфигурационные настройки кластера были приведены к следующему виду:
Параметр
password_encryptionустановлен в значениеmd5.Содержимое файла
pg_hba.confвыглядит следующим образом:hostssl all postgres 127.0.0.1/32 cert hostssl all postgres 'master_ip' cert hostssl all postgres 'replica_ip' cert hostssl replication postgres 127.0.0.1/32 cert hostssl replication postgres 'master_ip' cert hostssl replication postgres 'replica_ip' cert hostssl all +as_TUZ 0.0.0.0/0 md5 clientcert=1 host all DB_MONITOR 0.0.0.0/0 md5 host all +all-sa-pam-group 0.0.0.0/0 ldap ldapserver=sigma.sbrf.ru ldapport=389 ldapprefix="cn=" ldapsuffix=", OU=NPA, OU=PAM, OU=ALL, OU=Sberbank, DC=sigma, dc=sbrf, dc=ru" host all zabbix_oasubd,pgbouncer,monitoring_php,auditor 0.0.0.0/0 md5 host all +as_admin, +as_admin_read 0.0.0.0/0 ldap ldapserver="sigma.sbrf.ru" ldapsuffix="@sigma.sbrf.ru" host all all 10.105.81.0/24 md5 host all all 10.127.64.0/24 md5 host all all 10.60.40.0/24 md5 host all all 10.34.40.0/24 md5 host all patroni 127.0.0.1/32 scram-sha-256 host all patroni 'master_ip' scram-sha-256 host all patroni 'replica_ip' scram-sha-256 host replication patroni 127.0.0.1/32 scram-sha-256 host replication patroni 'master_ip' scram-sha-256 host replication patroni 'replica_ip' scram-sha-256 host all cron, backup_user 0.0.0.0/0 scram-sha-256Пароль пользователя
patroni, указанный вpostgres.yml, имеет значение форматаSCRAM-SHA-256$4096:....
Решение:
Для корректного изменения пароля пользователя patroni необходимо выполнить следующие шаги:
Измените пароль пользователя
patroniв базе данных.Установите параметр
password_encryptionв значениеscram-sha-256.Запишите новый пароль пользователя
patroniв хранилище паролей.
Внимание!
Если в файле
pg_hba.confметод аутентификации установлен вmd5, но пользователь предоставляет пароль в форматеscram-sha-256, то подключение будет использовано методомscram-sha-256. Это сделано для облегчения перехода сmd5наscram-sha-256.