Я установил каталог 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
Надеюсь, что я помог кому-то сэкономить время и мучения гугл-тусовки;) Ура.