Я пытаюсь настроить наш сервер LDAP так, чтобы члены pwmadmins группы могли изменить пароли людей для них. Чтобы быть точнее, мы имеем PWM для настроенного Tomcat и пытаемся позволить pwmadmins изменить пароли людей через это. Но по некоторым причинам у людей в pwmadmins группе все еще нет разрешения изменить пароли людей.
Вот то, на что раздел ALC olcDatabase = {1} hdb.ldif файл похож теперь (я отобразил все это, даже при том, что я только обеспокоен разделом {0}):
olcAccess: {0}to attrs=userPassword,shadowLastChange
by dn="cn=pwmadmin,dc=cs,dc=school,dc=edu" write
by group.exact="cn=pwmadmins,ou=groups,dc=cs,dc=school,dc=edu" write
by anonymous auth
by self write
by * none
olcAccess: {1}to attrs=loginShell,gecos
by dn="cn=admin,dc=cs,dc=school,dc=edu" write
by self write
by * read
olcAccess: {2}to attrs=loginShell,gecos
by dn="cn=pwmadmin,dc=cs,dc=school,dc=edu" write
olcAccess: {3}to dn.base=""
by * read
olcAccess: {4}to *
by dn="cn=admin,dc=cs,dc=school,dc=edu" write
by * read
(Новые строки добавляются для ясности.) я проверил формат с несколькими другими подобными вопросами на этом сайте, чтобы удостовериться, что у меня есть порядок, интервал, и т.д. вниз право, но это все еще не работает. Мне установили фильтр memberOf, и я подтвердил, что это работает правильно над PWM. И когда я дал моему UID способность изменить пароли, это работало правильно. Таким образом, это - ясно что-то с синтаксисом группы, но я не уверен что. Любая справка очень ценится!
Править: Найденный решением - посмотрите ниже.
Мне удалось заставить его работать, сделав pwmadmins в groupOfNames вместо posixGroup, а затем реализовав следующий код:
olcAccess: {0}to attrs=userPassword,shadowLastChange
by dn="cn=pwmadmin,dc=cs,dc=school,dc=edu" write
by set="[cn=pwmadmins,ou=groups,dc=cs,dc=school,dc=edu]/member & user" write
by anonymous auth
by self write
by * none
olcAccess: {1}to attrs=loginShell,gecos
by dn="cn=admin,dc=cs,dc=school,dc=edu" write
by self write
by * read
olcAccess: {2}to attrs=loginShell,gecos
by dn="cn=pwmadmin,dc=cs,dc=school,dc=edu" write
olcAccess: {3}to dn.base=""
by * read
olcAccess: {4}to *
by dn="cn=admin,dc=cs,dc=school,dc=edu" write
by * read