Смена пароля - проблема с обновлением ldap

Я установил каталог 389 и 1 сервер в качестве клиента для проверки подлинности пользователей и т. Д.

Для установки каталога я использовал этот учебник:

Установите и настройте сервер LDAP в CentOS 7

Для установки клиента я использовал этот учебник: Как установить Настройка клиента LDAP для 389 Directory Server

Теперь аутентификация ds-389 и клиента работает, но когда я пытаюсь сменить пароль пользователя ldap, я получаю странное сообщение:

20 мая 13:40:55 сервер passwd: pam_unix(passwd:chauthtok): пользовательский "test" не существует в /etc/passwd 20 мая 13:41:06 сервер passwd: pam_unix(passwd:chauthtok): пользователь "test" не существует в /etc/passwd 20 мая 13:41:06 сервер passwd: pam_ldap(passwd:chauthtok): сбой смены пароля: сбой смены пароля: требуется конфиденциальность; user=test 20 мая 13:41:06 server passwd: gkr-pam: не удалось изменить пароль для брелока для входа в систему: пароли не совпадают. 20 мая 13:41:06 сервер passwd: gkr-pam: остановил демон

Кто-нибудь знает в чем может быть проблема? мой конфиг pam выглядит так:

пароль-авторизация:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_access.so
account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok


password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     optional      pam_oddjob_mkhomedir.so skel=/etc/skel umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

системы аутентификации

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_access.so
account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     optional      pam_oddjob_mkhomedir.so skel=/etc/skel umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

1 ответ

Хорошо, в моем случае я потратил один полный день на игры с конфигурацией и wireshark, чтобы выяснить, что для того, чтобы пользователи могли менять свой пароль, вам нужно включить шифрование ds-389, а вашему клиенту необходимо подключиться к Порт 636 SSL / TLS, чтобы "БЕЗОПАСНО" передавать конфиденциальные данные, в нашем случае пароль. Что-то вроде глупости после пропуска самой важной части; D

Итак, чтобы система работала правильно, сначала нам нужно сгенерировать сертификат на ds-389

Для этого я использовал это краткое руководство: Настройка TLS SSL 389 Сервер каталогов CentOS

Пожалуйста, имейте в виду, чтобы установить ПИН-код для вашего DS-389 и перезапустить службы, конечно... Итак, после того, как вы все настроили на своем DS-389, следующим шагом будет установка клиента для подключения к определенному порту. В качестве предварительного условия вам необходимо экспортировать crt в pem с помощью этой команды:

openssl x509 -in ca-cert.crt -out ca-cert.pem -outform PEM

скопируйте этот файл ca-cert.pem в свой (клиент), например, из домашней папки, в которую вы поместили файл scp ca-cert.pem (или куда бы вы ни скопировали этот файл)

mv (scp-cert-path)/ca-cert.pem /etc/openldap/cacerts/

И в качестве последнего шага используйте authconfig-tui, чтобы настроить ваш клиент на использование TLS вместо порта 389 с простым текстом...

Вы можете выполнить следующие шаги по этой ссылке: Как установить Настройка клиента LDAP для 389 Directory Server

Я надеюсь, что я помог кому-то сэкономить время и пытки Google вокруг;) Ура.

Другие вопросы по тегам