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

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

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

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

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

Для установки клиента я использовал это руководство: Как установить клиент конфигурации LDAP для сервера каталогов 389

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

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

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

пароль-auth:

#%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

system-auth

#%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

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

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

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

Не забудьте установить PIN-код для вашего 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

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