Пользователи LDAP не могут изменить свой пароль с помощью команды passwd

У меня есть базовая настройка LDAP без настроенного SSL. Пользователи могут войти в систему, но не могут изменить свой пароль с помощью команды passwd. Я пошел, хотя много блогов, но не повезло. Я отключил selinux и iptables.

Любая помощь в этом будет высоко оценена.

Подробности ниже,

  • ОС: CentOS6.5
  • Версия LDAP: openldap-servers-2.4.23-34.el6_5.1.x86_64
  • Версия клиента: openldap-clients-2.4.23-34.el6_5.1.x86_64

Вывод из терминала при попытке смены пароля:

[servername ~]$ passwd
Changing password for user dkrishna.
Enter login(LDAP) password:
New password:
Retype new password:
LDAP password information update failed: Insufficient access
passwd: Authentication token manipulation error

Ниже приведены логи,

==> /var/log/secure ‹==

Oct  8 09:31:33  passwd: pam_unix(passwd:chauthtok): user "dkrishna" does not exist in /etc/passwd
Oct  8 09:31:42  passwd: pam_unix(passwd:chauthtok): user "dkrishna" does not exist in /etc/passwd

==> /var/log/сообщения ‹==

Oct  8 09:31:42  passwd: pam_ldap: ldap_modify_s Insufficient access

ACL настроены, как показано ниже,

database config
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
        by * none

database monitor
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=admin,dc=tibbr,dc=com" read
        by * none

access to attrs=userPassword
        by self write
        by anonymous auth
        by users none

access to * by * read

person Krishnamurthy Dasari    schedule 08.10.2014    source источник


Ответы (2)


Я нашел решение:

Добавьте следующие две строки в конец файла: oclDatabase\=\{2\}bdb.ldif

olcAccess: {0}to attrs=userPassword by self write by dn.base="cn=Manager,dc=domain,dc=com" write by anonymous auth by * none

olcAccess: {1}to * by dn.base="cn=Manager,dc=domain,dc=com" write by self write by * read

до свидания

person Thomas    schedule 28.10.2014
comment
Большое спасибо Томас за ваш ответ. Работал как шарм!! Пробовали поместить то же правило в файл slapd.conf и перезапустить службу, это не сработало. Но размещение того же правила непосредственно в файле oclDatabase\={2}bdb.ldif сработало. - person Krishnamurthy Dasari; 29.10.2014

Похоже, что slapd.conf устарел при настройке базы данных OCL.

Обратите внимание на следующий фрагмент из руководства по настройке OCL: «С момента запуска преобразования файл slapd.conf является избыточным. При загрузке slapd ищет каталог конфигурации (по умолчанию slapd.d), считывает оттуда свои файлы конфигурации и инициализирует OLC (cn=config) DIT. Если каталог slapd.d не найден, slapd ищет slapd.conf."

person Kam Nasim    schedule 01.12.2015
comment
ОКЛ =? Библиотека классов Oracle для C++, интерфейс базы данных Oracle. - person AnneTheAgile; 06.04.2016