Смена пароля - проблема с обновлением 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 вокруг;) Ура.